Shakeout Testing Part 2 (#1053)
* Fixed an issue where cover update events wouldn't refresh an image after the second event came through due to randomization * Fixed an issue where download event wasn't send consistently when downloading files. * Fixed a bug where you couldn't add a new role to a user * Fixed a bug where if you went to edit user library, the roles would get reset to nothing * Adjust the rendering on reading list page to be better on smaller screens (and worse on larger ones) * Tweaked the refresh covers message to use queued and not started * Cleaned up the code for image on when to update based on CoverUpdate event. On dashboard, don't spam reload recently added on every series update or scan complete. Debouce for 1 second between calls. * Fixed an issue where we sent an error on forgot password confirmation, but really, it was successful. * Added Reading Lists and Library to search results * Fixed a bug in the search component where hitting esc to close overlay then typing again wouldn't reopen the overlay * When resending invites, send the correct link for an invite * Tell the admin an email was sent on invite * Fixed the error interceptor to flatten validation error messages more robustly and now confirm email will show validation exceptions * Fixed a bug in webtoon reader where we were reading the wrong dimension for fitting images to screen on render * When generating email links, inform who they are for in the logs. Fixed an issue with an error message on login when password was incorrect, but user hadn't confirmed email yet. Fixed multiple cases where migration wasn't sending error messages back correctly and hence the user never saw them. * Show errors on migration UI form * Changed log rolling to be easier to understand * Added some extra logic to throw unauthorized * Tweaked some wording to inform user how to best find email link * Fixed a code smell
This commit is contained in:
parent
d18cfbc44f
commit
4fcab5800e
26 changed files with 211 additions and 65 deletions
|
|
@ -8,6 +8,9 @@
|
|||
<p>Your account does not have an email on file. This is a one-time migration. Please add your email to the account. A verficiation link will be sent to your email for you
|
||||
to confirm and will then be allowed to authenticate with this server. This is required.
|
||||
</p>
|
||||
|
||||
<p class="text-danger" *ngIf="error.length > 0">{{error}}</p>
|
||||
|
||||
<form [formGroup]="registerForm">
|
||||
<div class="form-group">
|
||||
<label for="username">Username</label>
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ export class AddEmailToAccountMigrationModalComponent implements OnInit {
|
|||
registerForm: FormGroup = new FormGroup({});
|
||||
emailLink: string = '';
|
||||
emailLinkUrl: SafeUrl | undefined;
|
||||
error: string = '';
|
||||
|
||||
constructor(private accountService: AccountService, private modal: NgbActiveModal,
|
||||
private serverService: ServerService, private confirmService: ConfirmService) {
|
||||
|
|
@ -43,15 +44,18 @@ export class AddEmailToAccountMigrationModalComponent implements OnInit {
|
|||
const model = this.registerForm.getRawValue();
|
||||
model.sendEmail = canAccess;
|
||||
this.accountService.migrateUser(model).subscribe(async (email) => {
|
||||
console.log(email);
|
||||
if (!canAccess) {
|
||||
// Display the email to the user
|
||||
this.emailLink = email;
|
||||
await this.confirmService.alert('Please click this link to confirm your email. You must confirm to be able to login. The link is in your logs. You may need to log out of the current account before clicking. <br/> <a href="' + this.emailLink + '" target="_blank">' + this.emailLink + '</a>');
|
||||
this.modal.close(true);
|
||||
} else {
|
||||
await this.confirmService.alert('Please check your email (or logs) for the confirmation link. You must confirm to be able to login.');
|
||||
await this.confirmService.alert('Please check your email (or logs under "Email Link") for the confirmation link. You must confirm to be able to login.');
|
||||
this.modal.close(true);
|
||||
}
|
||||
}, err => {
|
||||
this.error = err;
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
<!--
|
||||
<div class="text-danger" *ngIf="errors.length > 0">
|
||||
<p>Errors:</p>
|
||||
<ul>
|
||||
<li *ngFor="let error of errors">{{error}}</li>
|
||||
</ul>
|
||||
</div> -->
|
||||
|
||||
<app-splash-container>
|
||||
<ng-container title><h2>Register</h2></ng-container>
|
||||
<ng-container body>
|
||||
<p>Complete the form to complete your registration</p>
|
||||
<div class="text-danger" *ngIf="errors.length > 0">
|
||||
<p>Errors:</p>
|
||||
<ul>
|
||||
<li *ngFor="let error of errors">{{error}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<form [formGroup]="registerForm" (ngSubmit)="submit()">
|
||||
<div class="form-group">
|
||||
<label for="username">Username</label>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ export class ConfirmEmailComponent implements OnInit {
|
|||
this.toastr.success('Account registration complete');
|
||||
this.router.navigateByUrl('login');
|
||||
}, err => {
|
||||
console.log('error: ', err);
|
||||
this.errors = err;
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue