mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-23 11:56:00 +01:00
Remove empty catch blocks, and update tslint rule (#513)
This commit is contained in:
parent
62011628d0
commit
f09fb69882
@ -20,6 +20,7 @@ import { CollectionService } from 'jslib-common/abstractions/collection.service'
|
|||||||
import { EventService } from 'jslib-common/abstractions/event.service';
|
import { EventService } from 'jslib-common/abstractions/event.service';
|
||||||
import { FolderService } from 'jslib-common/abstractions/folder.service';
|
import { FolderService } from 'jslib-common/abstractions/folder.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
||||||
@ -88,7 +89,7 @@ export class AddEditComponent implements OnInit {
|
|||||||
protected auditService: AuditService, protected stateService: StateService,
|
protected auditService: AuditService, protected stateService: StateService,
|
||||||
protected userService: UserService, protected collectionService: CollectionService,
|
protected userService: UserService, protected collectionService: CollectionService,
|
||||||
protected messagingService: MessagingService, protected eventService: EventService,
|
protected messagingService: MessagingService, protected eventService: EventService,
|
||||||
protected policyService: PolicyService) {
|
protected policyService: PolicyService, private logService: LogService) {
|
||||||
this.typeOptions = [
|
this.typeOptions = [
|
||||||
{ name: i18nService.t('typeLogin'), value: CipherType.Login },
|
{ name: i18nService.t('typeLogin'), value: CipherType.Login },
|
||||||
{ name: i18nService.t('typeCard'), value: CipherType.Card },
|
{ name: i18nService.t('typeCard'), value: CipherType.Card },
|
||||||
@ -283,7 +284,9 @@ export class AddEditComponent implements OnInit {
|
|||||||
this.onSavedCipher.emit(this.cipher);
|
this.onSavedCipher.emit(this.cipher);
|
||||||
this.messagingService.send(this.editMode && !this.cloneMode ? 'editedCipher' : 'addedCipher');
|
this.messagingService.send(this.editMode && !this.cloneMode ? 'editedCipher' : 'addedCipher');
|
||||||
return true;
|
return true;
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -346,7 +349,9 @@ export class AddEditComponent implements OnInit {
|
|||||||
this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));
|
this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));
|
||||||
this.onDeletedCipher.emit(this.cipher);
|
this.onDeletedCipher.emit(this.cipher);
|
||||||
this.messagingService.send(this.cipher.isDeleted ? 'permanentlyDeletedCipher' : 'deletedCipher');
|
this.messagingService.send(this.cipher.isDeleted ? 'permanentlyDeletedCipher' : 'deletedCipher');
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -369,7 +374,9 @@ export class AddEditComponent implements OnInit {
|
|||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));
|
||||||
this.onRestoredCipher.emit(this.cipher);
|
this.onRestoredCipher.emit(this.cipher);
|
||||||
this.messagingService.send('restoredCipher');
|
this.messagingService.send('restoredCipher');
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ import { ApiService } from 'jslib-common/abstractions/api.service';
|
|||||||
import { CipherService } from 'jslib-common/abstractions/cipher.service';
|
import { CipherService } from 'jslib-common/abstractions/cipher.service';
|
||||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { UserService } from 'jslib-common/abstractions/user.service';
|
import { UserService } from 'jslib-common/abstractions/user.service';
|
||||||
|
|
||||||
@ -38,7 +39,7 @@ export class AttachmentsComponent implements OnInit {
|
|||||||
constructor(protected cipherService: CipherService, protected i18nService: I18nService,
|
constructor(protected cipherService: CipherService, protected i18nService: I18nService,
|
||||||
protected cryptoService: CryptoService, protected userService: UserService,
|
protected cryptoService: CryptoService, protected userService: UserService,
|
||||||
protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,
|
protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,
|
||||||
protected win: Window) { }
|
protected win: Window, private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
await this.init();
|
await this.init();
|
||||||
@ -71,7 +72,9 @@ export class AttachmentsComponent implements OnInit {
|
|||||||
this.cipher = await this.cipherDomain.decrypt();
|
this.cipher = await this.cipherDomain.decrypt();
|
||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));
|
||||||
this.onUploadedAttachment.emit();
|
this.onUploadedAttachment.emit();
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
// reset file input
|
// reset file input
|
||||||
// ref: https://stackoverflow.com/a/20552042
|
// ref: https://stackoverflow.com/a/20552042
|
||||||
@ -100,7 +103,9 @@ export class AttachmentsComponent implements OnInit {
|
|||||||
if (i > -1) {
|
if (i > -1) {
|
||||||
this.cipher.attachments.splice(i, 1);
|
this.cipher.attachments.splice(i, 1);
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
this.deletePromises[attachment.id] = null;
|
this.deletePromises[attachment.id] = null;
|
||||||
this.onDeletedAttachment.emit();
|
this.onDeletedAttachment.emit();
|
||||||
@ -226,7 +231,9 @@ export class AttachmentsComponent implements OnInit {
|
|||||||
a.downloading = false;
|
a.downloading = false;
|
||||||
});
|
});
|
||||||
await this.reuploadPromises[attachment.id];
|
await this.reuploadPromises[attachment.id];
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected loadCipher() {
|
protected loadCipher() {
|
||||||
|
@ -9,6 +9,7 @@ import {
|
|||||||
import { CipherService } from 'jslib-common/abstractions/cipher.service';
|
import { CipherService } from 'jslib-common/abstractions/cipher.service';
|
||||||
import { CollectionService } from 'jslib-common/abstractions/collection.service';
|
import { CollectionService } from 'jslib-common/abstractions/collection.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
|
|
||||||
import { CipherView } from 'jslib-common/models/view/cipherView';
|
import { CipherView } from 'jslib-common/models/view/cipherView';
|
||||||
@ -30,7 +31,7 @@ export class CollectionsComponent implements OnInit {
|
|||||||
protected cipherDomain: Cipher;
|
protected cipherDomain: Cipher;
|
||||||
|
|
||||||
constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,
|
constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,
|
||||||
protected i18nService: I18nService, protected cipherService: CipherService) { }
|
protected i18nService: I18nService, protected cipherService: CipherService, private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
await this.load();
|
await this.load();
|
||||||
@ -65,7 +66,9 @@ export class CollectionsComponent implements OnInit {
|
|||||||
await this.formPromise;
|
await this.formPromise;
|
||||||
this.onSavedCollections.emit();
|
this.onSavedCollections.emit();
|
||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected loadCipher() {
|
protected loadCipher() {
|
||||||
|
@ -9,6 +9,7 @@ import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
|||||||
import { EventService } from 'jslib-common/abstractions/event.service';
|
import { EventService } from 'jslib-common/abstractions/event.service';
|
||||||
import { ExportService } from 'jslib-common/abstractions/export.service';
|
import { ExportService } from 'jslib-common/abstractions/export.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
||||||
|
|
||||||
@ -27,7 +28,8 @@ export class ExportComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,
|
constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,
|
||||||
protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,
|
protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,
|
||||||
protected eventService: EventService, private policyService: PolicyService, protected win: Window) { }
|
protected eventService: EventService, private policyService: PolicyService, protected win: Window,
|
||||||
|
private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
await this.checkExportDisabled();
|
await this.checkExportDisabled();
|
||||||
@ -66,7 +68,9 @@ export class ExportComponent implements OnInit {
|
|||||||
this.downloadFile(data);
|
this.downloadFile(data);
|
||||||
this.saved();
|
this.saved();
|
||||||
await this.collectEvent();
|
await this.collectEvent();
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),
|
this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),
|
||||||
this.i18nService.t('invalidMasterPassword'));
|
this.i18nService.t('invalidMasterPassword'));
|
||||||
|
@ -8,6 +8,7 @@ import {
|
|||||||
|
|
||||||
import { FolderService } from 'jslib-common/abstractions/folder.service';
|
import { FolderService } from 'jslib-common/abstractions/folder.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
|
|
||||||
import { FolderView } from 'jslib-common/models/view/folderView';
|
import { FolderView } from 'jslib-common/models/view/folderView';
|
||||||
@ -25,7 +26,7 @@ export class FolderAddEditComponent implements OnInit {
|
|||||||
deletePromise: Promise<any>;
|
deletePromise: Promise<any>;
|
||||||
|
|
||||||
constructor(protected folderService: FolderService, protected i18nService: I18nService,
|
constructor(protected folderService: FolderService, protected i18nService: I18nService,
|
||||||
protected platformUtilsService: PlatformUtilsService) { }
|
protected platformUtilsService: PlatformUtilsService, private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
await this.init();
|
await this.init();
|
||||||
@ -46,7 +47,9 @@ export class FolderAddEditComponent implements OnInit {
|
|||||||
this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));
|
this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));
|
||||||
this.onSavedFolder.emit(this.folder);
|
this.onSavedFolder.emit(this.folder);
|
||||||
return true;
|
return true;
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -64,7 +67,9 @@ export class FolderAddEditComponent implements OnInit {
|
|||||||
await this.deletePromise;
|
await this.deletePromise;
|
||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));
|
||||||
this.onDeletedFolder.emit(this.folder);
|
this.onDeletedFolder.emit(this.folder);
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import { PasswordHintRequest } from 'jslib-common/models/request/passwordHintReq
|
|||||||
|
|
||||||
import { ApiService } from 'jslib-common/abstractions/api.service';
|
import { ApiService } from 'jslib-common/abstractions/api.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
|
|
||||||
export class HintComponent {
|
export class HintComponent {
|
||||||
@ -14,7 +15,8 @@ export class HintComponent {
|
|||||||
protected onSuccessfulSubmit: () => void;
|
protected onSuccessfulSubmit: () => void;
|
||||||
|
|
||||||
constructor(protected router: Router, protected i18nService: I18nService,
|
constructor(protected router: Router, protected i18nService: I18nService,
|
||||||
protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }
|
protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService,
|
||||||
|
private logService: LogService) { }
|
||||||
|
|
||||||
async submit() {
|
async submit() {
|
||||||
if (this.email == null || this.email === '') {
|
if (this.email == null || this.email === '') {
|
||||||
@ -37,6 +39,8 @@ export class HintComponent {
|
|||||||
} else if (this.router != null) {
|
} else if (this.router != null) {
|
||||||
this.router.navigate([this.successRoute]);
|
this.router.navigate([this.successRoute]);
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,9 @@ export class IconComponent implements OnChanges {
|
|||||||
try {
|
try {
|
||||||
this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';
|
this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';
|
||||||
this.fallbackImage = 'images/fa-globe.png';
|
this.fallbackImage = 'images/fa-globe.png';
|
||||||
} catch (e) { }
|
} catch (e) {
|
||||||
|
// Ignore error since the fallback icon will be shown if image is null.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.image = null;
|
this.image = null;
|
||||||
|
@ -5,6 +5,7 @@ import { ApiService } from 'jslib-common/abstractions/api.service';
|
|||||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||||
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { StateService } from 'jslib-common/abstractions/state.service';
|
import { StateService } from 'jslib-common/abstractions/state.service';
|
||||||
@ -47,7 +48,7 @@ export class LockComponent implements OnInit {
|
|||||||
protected userService: UserService, protected cryptoService: CryptoService,
|
protected userService: UserService, protected cryptoService: CryptoService,
|
||||||
protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,
|
protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,
|
||||||
protected environmentService: EnvironmentService, protected stateService: StateService,
|
protected environmentService: EnvironmentService, protected stateService: StateService,
|
||||||
protected apiService: ApiService) { }
|
protected apiService: ApiService, private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
this.pinSet = await this.vaultTimeoutService.isPinLockSet();
|
this.pinSet = await this.vaultTimeoutService.isPinLockSet();
|
||||||
@ -129,7 +130,9 @@ export class LockComponent implements OnInit {
|
|||||||
const localKeyHash = await this.cryptoService.hashPassword(this.masterPassword, key,
|
const localKeyHash = await this.cryptoService.hashPassword(this.masterPassword, key,
|
||||||
HashPurpose.LocalAuthorization);
|
HashPurpose.LocalAuthorization);
|
||||||
await this.cryptoService.setKeyHash(localKeyHash);
|
await this.cryptoService.setKeyHash(localKeyHash);
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (passwordValid) {
|
if (passwordValid) {
|
||||||
|
@ -12,6 +12,7 @@ import { AuthService } from 'jslib-common/abstractions/auth.service';
|
|||||||
import { CryptoFunctionService } from 'jslib-common/abstractions/cryptoFunction.service';
|
import { CryptoFunctionService } from 'jslib-common/abstractions/cryptoFunction.service';
|
||||||
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { StateService } from 'jslib-common/abstractions/state.service';
|
import { StateService } from 'jslib-common/abstractions/state.service';
|
||||||
@ -49,7 +50,8 @@ export class LoginComponent extends CaptchaProtectedComponent implements OnInit
|
|||||||
platformUtilsService: PlatformUtilsService, i18nService: I18nService,
|
platformUtilsService: PlatformUtilsService, i18nService: I18nService,
|
||||||
protected stateService: StateService, environmentService: EnvironmentService,
|
protected stateService: StateService, environmentService: EnvironmentService,
|
||||||
protected passwordGenerationService: PasswordGenerationService,
|
protected passwordGenerationService: PasswordGenerationService,
|
||||||
protected cryptoFunctionService: CryptoFunctionService, private storageService: StorageService) {
|
protected cryptoFunctionService: CryptoFunctionService, private storageService: StorageService,
|
||||||
|
protected logService: LogService) {
|
||||||
super(environmentService, i18nService, platformUtilsService);
|
super(environmentService, i18nService, platformUtilsService);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,7 +125,9 @@ export class LoginComponent extends CaptchaProtectedComponent implements OnInit
|
|||||||
this.router.navigate([this.successRoute]);
|
this.router.navigate([this.successRoute]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
togglePassword() {
|
togglePassword() {
|
||||||
|
@ -2,8 +2,8 @@ import { Directive, OnInit } from '@angular/core';
|
|||||||
|
|
||||||
import { ApiService } from 'jslib-common/abstractions/api.service';
|
import { ApiService } from 'jslib-common/abstractions/api.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { TokenService } from 'jslib-common/abstractions/token.service';
|
|
||||||
import { UserService } from 'jslib-common/abstractions/user.service';
|
import { UserService } from 'jslib-common/abstractions/user.service';
|
||||||
|
|
||||||
@Directive()
|
@Directive()
|
||||||
@ -13,7 +13,7 @@ export class PremiumComponent implements OnInit {
|
|||||||
refreshPromise: Promise<any>;
|
refreshPromise: Promise<any>;
|
||||||
|
|
||||||
constructor(protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,
|
constructor(protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,
|
||||||
protected apiService: ApiService, protected userService: UserService) { }
|
protected apiService: ApiService, protected userService: UserService, private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
this.isPremium = await this.userService.canAccessPremium();
|
this.isPremium = await this.userService.canAccessPremium();
|
||||||
@ -25,7 +25,9 @@ export class PremiumComponent implements OnInit {
|
|||||||
await this.refreshPromise;
|
await this.refreshPromise;
|
||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('refreshComplete'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('refreshComplete'));
|
||||||
this.isPremium = await this.userService.canAccessPremium();
|
this.isPremium = await this.userService.canAccessPremium();
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async purchase() {
|
async purchase() {
|
||||||
|
@ -10,6 +10,7 @@ import { AuthService } from 'jslib-common/abstractions/auth.service';
|
|||||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||||
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { StateService } from 'jslib-common/abstractions/state.service';
|
import { StateService } from 'jslib-common/abstractions/state.service';
|
||||||
@ -39,7 +40,8 @@ export class RegisterComponent extends CaptchaProtectedComponent implements OnIn
|
|||||||
i18nService: I18nService, protected cryptoService: CryptoService,
|
i18nService: I18nService, protected cryptoService: CryptoService,
|
||||||
protected apiService: ApiService, protected stateService: StateService,
|
protected apiService: ApiService, protected stateService: StateService,
|
||||||
platformUtilsService: PlatformUtilsService,
|
platformUtilsService: PlatformUtilsService,
|
||||||
protected passwordGenerationService: PasswordGenerationService, environmentService: EnvironmentService) {
|
protected passwordGenerationService: PasswordGenerationService, environmentService: EnvironmentService,
|
||||||
|
protected logService: LogService) {
|
||||||
super(environmentService, i18nService, platformUtilsService);
|
super(environmentService, i18nService, platformUtilsService);
|
||||||
this.showTerms = !platformUtilsService.isSelfHost();
|
this.showTerms = !platformUtilsService.isSelfHost();
|
||||||
}
|
}
|
||||||
@ -158,7 +160,9 @@ export class RegisterComponent extends CaptchaProtectedComponent implements OnIn
|
|||||||
}
|
}
|
||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));
|
||||||
this.router.navigate([this.successRoute], { queryParams: { email: this.email } });
|
this.router.navigate([this.successRoute], { queryParams: { email: this.email } });
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
togglePassword(confirmField: boolean) {
|
togglePassword(confirmField: boolean) {
|
||||||
|
@ -12,6 +12,7 @@ import { SendType } from 'jslib-common/enums/sendType';
|
|||||||
|
|
||||||
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
||||||
@ -57,7 +58,8 @@ export class AddEditComponent implements OnInit {
|
|||||||
constructor(protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,
|
constructor(protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,
|
||||||
protected environmentService: EnvironmentService, protected datePipe: DatePipe,
|
protected environmentService: EnvironmentService, protected datePipe: DatePipe,
|
||||||
protected sendService: SendService, protected userService: UserService,
|
protected sendService: SendService, protected userService: UserService,
|
||||||
protected messagingService: MessagingService, protected policyService: PolicyService) {
|
protected messagingService: MessagingService, protected policyService: PolicyService,
|
||||||
|
private logService: LogService) {
|
||||||
this.typeOptions = [
|
this.typeOptions = [
|
||||||
{ name: i18nService.t('sendTypeFile'), value: SendType.File },
|
{ name: i18nService.t('sendTypeFile'), value: SendType.File },
|
||||||
{ name: i18nService.t('sendTypeText'), value: SendType.Text },
|
{ name: i18nService.t('sendTypeText'), value: SendType.Text },
|
||||||
@ -191,7 +193,9 @@ export class AddEditComponent implements OnInit {
|
|||||||
try {
|
try {
|
||||||
await this.formPromise;
|
await this.formPromise;
|
||||||
return true;
|
return true;
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +222,9 @@ export class AddEditComponent implements OnInit {
|
|||||||
await this.load();
|
await this.load();
|
||||||
this.onDeletedSend.emit(this.send);
|
this.onDeletedSend.emit(this.send);
|
||||||
return true;
|
return true;
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import {
|
|||||||
OnInit,
|
OnInit,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
|
|
||||||
import { OrganizationUserStatusType } from 'jslib-common/enums/organizationUserStatusType';
|
|
||||||
import { PolicyType } from 'jslib-common/enums/policyType';
|
import { PolicyType } from 'jslib-common/enums/policyType';
|
||||||
import { SendType } from 'jslib-common/enums/sendType';
|
import { SendType } from 'jslib-common/enums/sendType';
|
||||||
|
|
||||||
@ -12,6 +11,7 @@ import { SendView } from 'jslib-common/models/view/sendView';
|
|||||||
|
|
||||||
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
import { PolicyService } from 'jslib-common/abstractions/policy.service';
|
||||||
import { SearchService } from 'jslib-common/abstractions/search.service';
|
import { SearchService } from 'jslib-common/abstractions/search.service';
|
||||||
@ -48,7 +48,8 @@ export class SendComponent implements OnInit {
|
|||||||
constructor(protected sendService: SendService, protected i18nService: I18nService,
|
constructor(protected sendService: SendService, protected i18nService: I18nService,
|
||||||
protected platformUtilsService: PlatformUtilsService, protected environmentService: EnvironmentService,
|
protected platformUtilsService: PlatformUtilsService, protected environmentService: EnvironmentService,
|
||||||
protected ngZone: NgZone, protected searchService: SearchService,
|
protected ngZone: NgZone, protected searchService: SearchService,
|
||||||
protected policyService: PolicyService, protected userService: UserService) { }
|
protected policyService: PolicyService, protected userService: UserService,
|
||||||
|
private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
this.disableSend = await this.policyService.policyAppliesToUser(PolicyType.DisableSend);
|
this.disableSend = await this.policyService.policyAppliesToUser(PolicyType.DisableSend);
|
||||||
@ -129,7 +130,9 @@ export class SendComponent implements OnInit {
|
|||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('removedPassword'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('removedPassword'));
|
||||||
await this.load();
|
await this.load();
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
this.actionPromise = null;
|
this.actionPromise = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,7 +159,9 @@ export class SendComponent implements OnInit {
|
|||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));
|
||||||
await this.refresh();
|
await this.refresh();
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
this.actionPromise = null;
|
this.actionPromise = null;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import { OrganizationUserStatusType } from 'jslib-common/enums/organizationUserS
|
|||||||
import { CipherService } from 'jslib-common/abstractions/cipher.service';
|
import { CipherService } from 'jslib-common/abstractions/cipher.service';
|
||||||
import { CollectionService } from 'jslib-common/abstractions/collection.service';
|
import { CollectionService } from 'jslib-common/abstractions/collection.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { UserService } from 'jslib-common/abstractions/user.service';
|
import { UserService } from 'jslib-common/abstractions/user.service';
|
||||||
|
|
||||||
@ -35,7 +36,7 @@ export class ShareComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,
|
constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,
|
||||||
protected i18nService: I18nService, protected userService: UserService,
|
protected i18nService: I18nService, protected userService: UserService,
|
||||||
protected cipherService: CipherService) { }
|
protected cipherService: CipherService, private logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
await this.load();
|
await this.load();
|
||||||
@ -88,7 +89,9 @@ export class ShareComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
await this.formPromise;
|
await this.formPromise;
|
||||||
return true;
|
return true;
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ import { AuthService } from 'jslib-common/abstractions/auth.service';
|
|||||||
import { CryptoFunctionService } from 'jslib-common/abstractions/cryptoFunction.service';
|
import { CryptoFunctionService } from 'jslib-common/abstractions/cryptoFunction.service';
|
||||||
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { StateService } from 'jslib-common/abstractions/state.service';
|
import { StateService } from 'jslib-common/abstractions/state.service';
|
||||||
@ -49,7 +50,7 @@ export class SsoComponent {
|
|||||||
protected storageService: StorageService, protected stateService: StateService,
|
protected storageService: StorageService, protected stateService: StateService,
|
||||||
protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,
|
protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,
|
||||||
protected cryptoFunctionService: CryptoFunctionService, protected environmentService: EnvironmentService,
|
protected cryptoFunctionService: CryptoFunctionService, protected environmentService: EnvironmentService,
|
||||||
protected passwordGenerationService: PasswordGenerationService) { }
|
protected passwordGenerationService: PasswordGenerationService, protected logService: LogService) { }
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
this.route.queryParams.pipe(first()).subscribe(async qParams => {
|
this.route.queryParams.pipe(first()).subscribe(async qParams => {
|
||||||
@ -180,7 +181,9 @@ export class SsoComponent {
|
|||||||
this.router.navigate([this.successRoute]);
|
this.router.navigate([this.successRoute]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
this.loggingIn = false;
|
this.loggingIn = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ import { ApiService } from 'jslib-common/abstractions/api.service';
|
|||||||
import { AuthService } from 'jslib-common/abstractions/auth.service';
|
import { AuthService } from 'jslib-common/abstractions/auth.service';
|
||||||
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
import { EnvironmentService } from 'jslib-common/abstractions/environment.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { StateService } from 'jslib-common/abstractions/state.service';
|
import { StateService } from 'jslib-common/abstractions/state.service';
|
||||||
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
||||||
@ -57,7 +58,8 @@ export class TwoFactorComponent implements OnInit, OnDestroy {
|
|||||||
protected i18nService: I18nService, protected apiService: ApiService,
|
protected i18nService: I18nService, protected apiService: ApiService,
|
||||||
protected platformUtilsService: PlatformUtilsService, protected win: Window,
|
protected platformUtilsService: PlatformUtilsService, protected win: Window,
|
||||||
protected environmentService: EnvironmentService, protected stateService: StateService,
|
protected environmentService: EnvironmentService, protected stateService: StateService,
|
||||||
protected storageService: StorageService, protected route: ActivatedRoute) {
|
protected storageService: StorageService, protected route: ActivatedRoute,
|
||||||
|
protected logService: LogService) {
|
||||||
this.webAuthnSupported = this.platformUtilsService.supportsWebAuthn(win);
|
this.webAuthnSupported = this.platformUtilsService.supportsWebAuthn(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,7 +218,9 @@ export class TwoFactorComponent implements OnInit, OnDestroy {
|
|||||||
this.platformUtilsService.showToast('success', null,
|
this.platformUtilsService.showToast('success', null,
|
||||||
this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));
|
this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
this.emailPromise = null;
|
this.emailPromise = null;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ import { Directive } from '@angular/core';
|
|||||||
import { ApiService } from 'jslib-common/abstractions/api.service';
|
import { ApiService } from 'jslib-common/abstractions/api.service';
|
||||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
import { MessagingService } from 'jslib-common/abstractions/messaging.service';
|
||||||
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
import { PasswordGenerationService } from 'jslib-common/abstractions/passwordGeneration.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
@ -31,7 +32,7 @@ export class UpdateTempPasswordComponent extends BaseChangePasswordComponent {
|
|||||||
passwordGenerationService: PasswordGenerationService, policyService: PolicyService,
|
passwordGenerationService: PasswordGenerationService, policyService: PolicyService,
|
||||||
cryptoService: CryptoService, userService: UserService,
|
cryptoService: CryptoService, userService: UserService,
|
||||||
messagingService: MessagingService, private apiService: ApiService,
|
messagingService: MessagingService, private apiService: ApiService,
|
||||||
private syncService: SyncService) {
|
private syncService: SyncService, private logService: LogService) {
|
||||||
super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,
|
super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,
|
||||||
platformUtilsService, policyService);
|
platformUtilsService, policyService);
|
||||||
}
|
}
|
||||||
@ -77,7 +78,9 @@ export class UpdateTempPasswordComponent extends BaseChangePasswordComponent {
|
|||||||
const newEncKey = await this.cryptoService.remakeEncKey(newKey, userEncKey);
|
const newEncKey = await this.cryptoService.remakeEncKey(newKey, userEncKey);
|
||||||
|
|
||||||
await this.performSubmitActions(newPasswordHash, newKey, newEncKey);
|
await this.performSubmitActions(newPasswordHash, newKey, newEncKey);
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,
|
async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,
|
||||||
@ -99,6 +102,8 @@ export class UpdateTempPasswordComponent extends BaseChangePasswordComponent {
|
|||||||
} else {
|
} else {
|
||||||
this.messagingService.send('logout');
|
this.messagingService.send('logout');
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@ import { CipherService } from 'jslib-common/abstractions/cipher.service';
|
|||||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||||
import { EventService } from 'jslib-common/abstractions/event.service';
|
import { EventService } from 'jslib-common/abstractions/event.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { PasswordRepromptService } from 'jslib-common/abstractions/passwordReprompt.service';
|
import { PasswordRepromptService } from 'jslib-common/abstractions/passwordReprompt.service';
|
||||||
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
|
||||||
import { TokenService } from 'jslib-common/abstractions/token.service';
|
import { TokenService } from 'jslib-common/abstractions/token.service';
|
||||||
@ -31,7 +32,6 @@ import { ErrorResponse } from 'jslib-common/models/response/errorResponse';
|
|||||||
|
|
||||||
import { AttachmentView } from 'jslib-common/models/view/attachmentView';
|
import { AttachmentView } from 'jslib-common/models/view/attachmentView';
|
||||||
import { CipherView } from 'jslib-common/models/view/cipherView';
|
import { CipherView } from 'jslib-common/models/view/cipherView';
|
||||||
import { FieldView } from 'jslib-common/models/view/fieldView';
|
|
||||||
import { LoginUriView } from 'jslib-common/models/view/loginUriView';
|
import { LoginUriView } from 'jslib-common/models/view/loginUriView';
|
||||||
|
|
||||||
const BroadcasterSubscriptionId = 'ViewComponent';
|
const BroadcasterSubscriptionId = 'ViewComponent';
|
||||||
@ -69,7 +69,7 @@ export class ViewComponent implements OnDestroy, OnInit {
|
|||||||
protected broadcasterService: BroadcasterService, protected ngZone: NgZone,
|
protected broadcasterService: BroadcasterService, protected ngZone: NgZone,
|
||||||
protected changeDetectorRef: ChangeDetectorRef, protected userService: UserService,
|
protected changeDetectorRef: ChangeDetectorRef, protected userService: UserService,
|
||||||
protected eventService: EventService, protected apiService: ApiService,
|
protected eventService: EventService, protected apiService: ApiService,
|
||||||
protected passwordRepromptService: PasswordRepromptService) { }
|
protected passwordRepromptService: PasswordRepromptService, private logService: LogService) { }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {
|
this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {
|
||||||
@ -159,7 +159,9 @@ export class ViewComponent implements OnDestroy, OnInit {
|
|||||||
this.platformUtilsService.showToast('success', null,
|
this.platformUtilsService.showToast('success', null,
|
||||||
this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));
|
this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));
|
||||||
this.onDeletedCipher.emit(this.cipher);
|
this.onDeletedCipher.emit(this.cipher);
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -180,7 +182,9 @@ export class ViewComponent implements OnDestroy, OnInit {
|
|||||||
await this.restoreCipher();
|
await this.restoreCipher();
|
||||||
this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));
|
this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));
|
||||||
this.onRestoredCipher.emit(this.cipher);
|
this.onRestoredCipher.emit(this.cipher);
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,9 @@ export class PasspackCsvImporter extends BaseImporter implements Importer {
|
|||||||
try {
|
try {
|
||||||
const t = JSON.parse(tagJson);
|
const t = JSON.parse(tagJson);
|
||||||
return this.getValueOrDefault(t.tag);
|
return this.getValueOrDefault(t.tag);
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}).filter((t: string) => !this.isNullOrWhitespace(t)) : null;
|
}).filter((t: string) => !this.isNullOrWhitespace(t)) : null;
|
||||||
|
|
||||||
@ -72,7 +74,9 @@ export class PasspackCsvImporter extends BaseImporter implements Importer {
|
|||||||
fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {
|
fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {
|
||||||
try {
|
try {
|
||||||
return JSON.parse(fieldJson);
|
return JSON.parse(fieldJson);
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}) : null;
|
}) : null;
|
||||||
if (fields != null) {
|
if (fields != null) {
|
||||||
|
@ -84,7 +84,9 @@ export class PasswordBossJsonImporter extends BaseImporter implements Importer {
|
|||||||
const expDate = new Date(val);
|
const expDate = new Date(val);
|
||||||
cipher.card.expYear = expDate.getFullYear().toString();
|
cipher.card.expYear = expDate.getFullYear().toString();
|
||||||
cipher.card.expMonth = (expDate.getMonth() + 1).toString();
|
cipher.card.expMonth = (expDate.getMonth() + 1).toString();
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
} else if (property === 'cardType') {
|
} else if (property === 'cardType') {
|
||||||
continue;
|
continue;
|
||||||
|
@ -43,7 +43,9 @@ export class RememBearCsvImporter extends BaseImporter implements Importer {
|
|||||||
cipher.card.expMonth = expMonthNumber.toString();
|
cipher.card.expMonth = expMonthNumber.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
const expYear = this.getValueOrDefault(value.expiryYear);
|
const expYear = this.getValueOrDefault(value.expiryYear);
|
||||||
if (expYear != null) {
|
if (expYear != null) {
|
||||||
@ -52,7 +54,9 @@ export class RememBearCsvImporter extends BaseImporter implements Importer {
|
|||||||
cipher.card.expYear = expYearNumber.toString();
|
cipher.card.expYear = expYearNumber.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
|
|
||||||
const pin = this.getValueOrDefault(value.pin);
|
const pin = this.getValueOrDefault(value.pin);
|
||||||
if (pin != null) {
|
if (pin != null) {
|
||||||
|
@ -47,7 +47,9 @@ export class TrueKeyCsvImporter extends BaseImporter implements Importer {
|
|||||||
const expDate = new Date(value.expiryDate);
|
const expDate = new Date(value.expiryDate);
|
||||||
cipher.card.expYear = expDate.getFullYear().toString();
|
cipher.card.expYear = expDate.getFullYear().toString();
|
||||||
cipher.card.expMonth = (expDate.getMonth() + 1).toString();
|
cipher.card.expMonth = (expDate.getMonth() + 1).toString();
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (value.kind !== 'login') {
|
} else if (value.kind !== 'login') {
|
||||||
cipher.type = CipherType.SecureNote;
|
cipher.type = CipherType.SecureNote;
|
||||||
|
@ -238,7 +238,9 @@ export class Utils {
|
|||||||
|
|
||||||
const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;
|
const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;
|
||||||
return urlDomain != null ? urlDomain : url.hostname;
|
return urlDomain != null ? urlDomain : url.hostname;
|
||||||
} catch (e) { }
|
} catch (e) {
|
||||||
|
// Invalid domain, try another approach below.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -367,7 +369,9 @@ export class Utils {
|
|||||||
anchor.href = uriString;
|
anchor.href = uriString;
|
||||||
return anchor as any;
|
return anchor as any;
|
||||||
}
|
}
|
||||||
} catch (e) { }
|
} catch (e) {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,9 @@ export class AttachmentView implements View {
|
|||||||
if (this.size != null) {
|
if (this.size != null) {
|
||||||
return parseInt(this.size, null);
|
return parseInt(this.size, null);
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Invalid file size.
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,9 @@ export class SendFileView implements View {
|
|||||||
if (this.size != null) {
|
if (this.size != null) {
|
||||||
return parseInt(this.size, null);
|
return parseInt(this.size, null);
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Invalid file size.
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,7 +185,9 @@ class Version {
|
|||||||
this.year = parts[0];
|
this.year = parts[0];
|
||||||
this.month = parts[1];
|
this.month = parts[1];
|
||||||
this.day = parts[2];
|
this.day = parts[2];
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Compares two Azure Versions against each other
|
* Compares two Azure Versions against each other
|
||||||
|
@ -51,6 +51,7 @@ import { UserService } from '../abstractions/user.service';
|
|||||||
|
|
||||||
import { ConstantsService } from './constants.service';
|
import { ConstantsService } from './constants.service';
|
||||||
|
|
||||||
|
import { LogService } from '../abstractions/log.service';
|
||||||
import { sequentialize } from '../misc/sequentialize';
|
import { sequentialize } from '../misc/sequentialize';
|
||||||
import { Utils } from '../misc/utils';
|
import { Utils } from '../misc/utils';
|
||||||
|
|
||||||
@ -73,7 +74,8 @@ export class CipherService implements CipherServiceAbstraction {
|
|||||||
constructor(private cryptoService: CryptoService, private userService: UserService,
|
constructor(private cryptoService: CryptoService, private userService: UserService,
|
||||||
private settingsService: SettingsService, private apiService: ApiService,
|
private settingsService: SettingsService, private apiService: ApiService,
|
||||||
private fileUploadService: FileUploadService, private storageService: StorageService,
|
private fileUploadService: FileUploadService, private storageService: StorageService,
|
||||||
private i18nService: I18nService, private searchService: () => SearchService) {
|
private i18nService: I18nService, private searchService: () => SearchService,
|
||||||
|
private logService: LogService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
get decryptedCipherCache() {
|
get decryptedCipherCache() {
|
||||||
@ -423,7 +425,9 @@ export class CipherService implements CipherServiceAbstraction {
|
|||||||
if (regex.test(url)) {
|
if (regex.test(url)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case UriMatchType.Never:
|
case UriMatchType.Never:
|
||||||
default:
|
default:
|
||||||
|
@ -564,7 +564,9 @@ export class CryptoService implements CryptoServiceAbstraction {
|
|||||||
try {
|
try {
|
||||||
encType = parseInt(headerPieces[0], null);
|
encType = parseInt(headerPieces[0], null);
|
||||||
encPieces = headerPieces[1].split('|');
|
encPieces = headerPieces[1].split('|');
|
||||||
} catch (e) { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (encType) {
|
switch (encType) {
|
||||||
|
@ -10,13 +10,15 @@ import { EventService as EventServiceAbstraction } from '../abstractions/event.s
|
|||||||
import { StorageService } from '../abstractions/storage.service';
|
import { StorageService } from '../abstractions/storage.service';
|
||||||
import { UserService } from '../abstractions/user.service';
|
import { UserService } from '../abstractions/user.service';
|
||||||
|
|
||||||
|
import { LogService } from '../abstractions/log.service';
|
||||||
import { ConstantsService } from './constants.service';
|
import { ConstantsService } from './constants.service';
|
||||||
|
|
||||||
export class EventService implements EventServiceAbstraction {
|
export class EventService implements EventServiceAbstraction {
|
||||||
private inited = false;
|
private inited = false;
|
||||||
|
|
||||||
constructor(private storageService: StorageService, private apiService: ApiService,
|
constructor(private storageService: StorageService, private apiService: ApiService,
|
||||||
private userService: UserService, private cipherService: CipherService) { }
|
private userService: UserService, private cipherService: CipherService,
|
||||||
|
private logService: LogService) { }
|
||||||
|
|
||||||
init(checkOnInterval: boolean) {
|
init(checkOnInterval: boolean) {
|
||||||
if (this.inited) {
|
if (this.inited) {
|
||||||
@ -83,7 +85,9 @@ export class EventService implements EventServiceAbstraction {
|
|||||||
try {
|
try {
|
||||||
await this.apiService.postEventsCollect(request);
|
await this.apiService.postEventsCollect(request);
|
||||||
this.clearEvents();
|
this.clearEvents();
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async clearEvents(): Promise<any> {
|
async clearEvents(): Promise<any> {
|
||||||
|
@ -192,7 +192,9 @@ export class NotificationsService implements NotificationsServiceAbstraction {
|
|||||||
if (sync) {
|
if (sync) {
|
||||||
await this.syncService.fullSync(false);
|
await this.syncService.fullSync(false);
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.connected) {
|
if (!this.connected) {
|
||||||
this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));
|
this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));
|
||||||
|
@ -125,7 +125,9 @@ export class SearchService implements SearchServiceAbstraction {
|
|||||||
if (isQueryString) {
|
if (isQueryString) {
|
||||||
try {
|
try {
|
||||||
searchResults = index.search(query.substr(1).trim());
|
searchResults = index.search(query.substr(1).trim());
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// tslint:disable-next-line
|
// tslint:disable-next-line
|
||||||
const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;
|
const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;
|
||||||
|
@ -3,6 +3,7 @@ import { CipherService } from '../abstractions/cipher.service';
|
|||||||
import { CollectionService } from '../abstractions/collection.service';
|
import { CollectionService } from '../abstractions/collection.service';
|
||||||
import { CryptoService } from '../abstractions/crypto.service';
|
import { CryptoService } from '../abstractions/crypto.service';
|
||||||
import { FolderService } from '../abstractions/folder.service';
|
import { FolderService } from '../abstractions/folder.service';
|
||||||
|
import { LogService } from '../abstractions/log.service';
|
||||||
import { MessagingService } from '../abstractions/messaging.service';
|
import { MessagingService } from '../abstractions/messaging.service';
|
||||||
import { PolicyService } from '../abstractions/policy.service';
|
import { PolicyService } from '../abstractions/policy.service';
|
||||||
import { SendService } from '../abstractions/send.service';
|
import { SendService } from '../abstractions/send.service';
|
||||||
@ -44,7 +45,8 @@ export class SyncService implements SyncServiceAbstraction {
|
|||||||
private cipherService: CipherService, private cryptoService: CryptoService,
|
private cipherService: CipherService, private cryptoService: CryptoService,
|
||||||
private collectionService: CollectionService, private storageService: StorageService,
|
private collectionService: CollectionService, private storageService: StorageService,
|
||||||
private messagingService: MessagingService, private policyService: PolicyService,
|
private messagingService: MessagingService, private policyService: PolicyService,
|
||||||
private sendService: SendService, private logoutCallback: (expired: boolean) => Promise<void>) {
|
private sendService: SendService, private logService: LogService,
|
||||||
|
private logoutCallback: (expired: boolean) => Promise<void>) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async getLastSync(): Promise<Date> {
|
async getLastSync(): Promise<Date> {
|
||||||
@ -131,7 +133,9 @@ export class SyncService implements SyncServiceAbstraction {
|
|||||||
return this.syncCompleted(true);
|
return this.syncCompleted(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return this.syncCompleted(false);
|
return this.syncCompleted(false);
|
||||||
}
|
}
|
||||||
@ -230,7 +234,9 @@ export class SyncService implements SyncServiceAbstraction {
|
|||||||
return this.syncCompleted(true);
|
return this.syncCompleted(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return this.syncCompleted(false);
|
return this.syncCompleted(false);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { ConstantsService } from './constants.service';
|
import { ConstantsService } from './constants.service';
|
||||||
|
|
||||||
import { CryptoFunctionService } from '../abstractions/cryptoFunction.service';
|
import { CryptoFunctionService } from '../abstractions/cryptoFunction.service';
|
||||||
|
import { LogService } from '../abstractions/log.service';
|
||||||
import { StorageService } from '../abstractions/storage.service';
|
import { StorageService } from '../abstractions/storage.service';
|
||||||
import { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';
|
import { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';
|
||||||
|
|
||||||
@ -10,7 +11,8 @@ const B32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
|
|||||||
const SteamChars = '23456789BCDFGHJKMNPQRTVWXY';
|
const SteamChars = '23456789BCDFGHJKMNPQRTVWXY';
|
||||||
|
|
||||||
export class TotpService implements TotpServiceAbstraction {
|
export class TotpService implements TotpServiceAbstraction {
|
||||||
constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }
|
constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService,
|
||||||
|
private logService: LogService) { }
|
||||||
|
|
||||||
async getCode(key: string): Promise<string> {
|
async getCode(key: string): Promise<string> {
|
||||||
if (key == null) {
|
if (key == null) {
|
||||||
@ -32,7 +34,9 @@ export class TotpService implements TotpServiceAbstraction {
|
|||||||
} else if (digitParams > 0) {
|
} else if (digitParams > 0) {
|
||||||
digits = digitParams;
|
digits = digitParams;
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch {
|
||||||
|
this.logService.error('Invalid digits param.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (params.has('period') && params.get('period') != null) {
|
if (params.has('period') && params.get('period') != null) {
|
||||||
try {
|
try {
|
||||||
@ -40,7 +44,9 @@ export class TotpService implements TotpServiceAbstraction {
|
|||||||
if (periodParam > 0) {
|
if (periodParam > 0) {
|
||||||
period = periodParam;
|
period = periodParam;
|
||||||
}
|
}
|
||||||
} catch { }
|
} catch {
|
||||||
|
this.logService.error('Invalid period param.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (params.has('secret') && params.get('secret') != null) {
|
if (params.has('secret') && params.get('secret') != null) {
|
||||||
keyB32 = params.get('secret');
|
keyB32 = params.get('secret');
|
||||||
@ -99,7 +105,9 @@ export class TotpService implements TotpServiceAbstraction {
|
|||||||
if (params.has('period') && params.get('period') != null) {
|
if (params.has('period') && params.get('period') != null) {
|
||||||
try {
|
try {
|
||||||
period = parseInt(params.get('period').trim(), null);
|
period = parseInt(params.get('period').trim(), null);
|
||||||
} catch { }
|
} catch {
|
||||||
|
this.logService.error('Invalid period param.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return period;
|
return period;
|
||||||
|
@ -6,6 +6,7 @@ import { WindowMain } from './window.main';
|
|||||||
|
|
||||||
import { BiometricMain } from 'jslib-common/abstractions/biometric.main';
|
import { BiometricMain } from 'jslib-common/abstractions/biometric.main';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
||||||
import { ConstantsService } from 'jslib-common/services/constants.service';
|
import { ConstantsService } from 'jslib-common/services/constants.service';
|
||||||
|
|
||||||
@ -14,7 +15,8 @@ export default class BiometricWindowsMain implements BiometricMain {
|
|||||||
|
|
||||||
private windowsSecurityCredentialsUiModule: any;
|
private windowsSecurityCredentialsUiModule: any;
|
||||||
|
|
||||||
constructor(private storageService: StorageService, private i18nservice: I18nService, private windowMain: WindowMain) { }
|
constructor(private storageService: StorageService, private i18nservice: I18nService, private windowMain: WindowMain,
|
||||||
|
private logService: LogService) { }
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
this.windowsSecurityCredentialsUiModule = this.getWindowsSecurityCredentialsUiModule();
|
this.windowsSecurityCredentialsUiModule = this.getWindowsSecurityCredentialsUiModule();
|
||||||
@ -125,8 +127,9 @@ export default class BiometricWindowsMain implements BiometricMain {
|
|||||||
try {
|
try {
|
||||||
const version = require('os').release();
|
const version = require('os').release();
|
||||||
return Number.parseInt(version.split('.')[0], 10);
|
return Number.parseInt(version.split('.')[0], 10);
|
||||||
|
} catch {
|
||||||
|
this.logService.error('Unable to resolve windows major version number');
|
||||||
}
|
}
|
||||||
catch { }
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,21 @@
|
|||||||
import { app, BrowserWindow, screen } from 'electron';
|
import {
|
||||||
import { ElectronConstants } from './electronConstants';
|
app,
|
||||||
|
BrowserWindow,
|
||||||
|
screen,
|
||||||
|
} from 'electron';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as url from 'url';
|
import * as url from 'url';
|
||||||
|
|
||||||
import { isDev, isMacAppStore, isSnapStore } from './utils';
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
|
|
||||||
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
||||||
|
|
||||||
|
import { ElectronConstants } from './electronConstants';
|
||||||
|
import {
|
||||||
|
isDev,
|
||||||
|
isMacAppStore,
|
||||||
|
isSnapStore,
|
||||||
|
} from './utils';
|
||||||
|
|
||||||
const WindowEventHandlingDelay = 100;
|
const WindowEventHandlingDelay = 100;
|
||||||
const Keys = {
|
const Keys = {
|
||||||
mainWindowSize: 'mainWindowSize',
|
mainWindowSize: 'mainWindowSize',
|
||||||
@ -21,8 +29,8 @@ export class WindowMain {
|
|||||||
private windowStates: { [key: string]: any; } = {};
|
private windowStates: { [key: string]: any; } = {};
|
||||||
private enableAlwaysOnTop: boolean = false;
|
private enableAlwaysOnTop: boolean = false;
|
||||||
|
|
||||||
constructor(private storageService: StorageService, private hideTitleBar = false,
|
constructor(private storageService: StorageService, private logService: LogService,
|
||||||
private defaultWidth = 950, private defaultHeight = 600,
|
private hideTitleBar = false, private defaultWidth = 950, private defaultHeight = 600,
|
||||||
private argvCallback: (argv: string[]) => void = null,
|
private argvCallback: (argv: string[]) => void = null,
|
||||||
private createWindowCallback: (win: BrowserWindow) => void) { }
|
private createWindowCallback: (win: BrowserWindow) => void) { }
|
||||||
|
|
||||||
@ -224,7 +232,9 @@ export class WindowMain {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await this.storageService.save(configKey, this.windowStates[configKey]);
|
await this.storageService.save(configKey, this.windowStates[configKey]);
|
||||||
} catch (e) { }
|
} catch (e) {
|
||||||
|
this.logService.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async getWindowState(configKey: string, defaultWidth: number, defaultHeight: number) {
|
private async getWindowState(configKey: string, defaultWidth: number, defaultHeight: number) {
|
||||||
|
@ -468,7 +468,9 @@ export class LoginCommand {
|
|||||||
});
|
});
|
||||||
foundPort = true;
|
foundPort = true;
|
||||||
break;
|
break;
|
||||||
} catch { }
|
} catch {
|
||||||
|
// Ignore error since we run the same command up to 5 times.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!foundPort) {
|
if (!foundPort) {
|
||||||
reject();
|
reject();
|
||||||
|
@ -4,6 +4,7 @@ import { ApiService } from 'jslib-common/abstractions/api.service';
|
|||||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||||
import { FileUploadService } from 'jslib-common/abstractions/fileUpload.service';
|
import { FileUploadService } from 'jslib-common/abstractions/fileUpload.service';
|
||||||
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
import { I18nService } from 'jslib-common/abstractions/i18n.service';
|
||||||
|
import { LogService } from 'jslib-common/abstractions/log.service';
|
||||||
import { SearchService } from 'jslib-common/abstractions/search.service';
|
import { SearchService } from 'jslib-common/abstractions/search.service';
|
||||||
import { SettingsService } from 'jslib-common/abstractions/settings.service';
|
import { SettingsService } from 'jslib-common/abstractions/settings.service';
|
||||||
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
import { StorageService } from 'jslib-common/abstractions/storage.service';
|
||||||
@ -28,6 +29,7 @@ describe('Cipher Service', () => {
|
|||||||
let storageService: SubstituteOf<StorageService>;
|
let storageService: SubstituteOf<StorageService>;
|
||||||
let i18nService: SubstituteOf<I18nService>;
|
let i18nService: SubstituteOf<I18nService>;
|
||||||
let searchService: SubstituteOf<SearchService>;
|
let searchService: SubstituteOf<SearchService>;
|
||||||
|
let logService: SubstituteOf<LogService>;
|
||||||
|
|
||||||
let cipherService: CipherService;
|
let cipherService: CipherService;
|
||||||
|
|
||||||
@ -40,12 +42,13 @@ describe('Cipher Service', () => {
|
|||||||
storageService = Substitute.for<StorageService>();
|
storageService = Substitute.for<StorageService>();
|
||||||
i18nService = Substitute.for<I18nService>();
|
i18nService = Substitute.for<I18nService>();
|
||||||
searchService = Substitute.for<SearchService>();
|
searchService = Substitute.for<SearchService>();
|
||||||
|
logService = Substitute.for<LogService>();
|
||||||
|
|
||||||
cryptoService.encryptToBytes(Arg.any(), Arg.any()).resolves(ENCRYPTED_BYTES);
|
cryptoService.encryptToBytes(Arg.any(), Arg.any()).resolves(ENCRYPTED_BYTES);
|
||||||
cryptoService.encrypt(Arg.any(), Arg.any()).resolves(new EncString(ENCRYPTED_TEXT));
|
cryptoService.encrypt(Arg.any(), Arg.any()).resolves(new EncString(ENCRYPTED_TEXT));
|
||||||
|
|
||||||
cipherService = new CipherService(cryptoService, userService, settingsService, apiService, fileUploadService,
|
cipherService = new CipherService(cryptoService, userService, settingsService, apiService, fileUploadService,
|
||||||
storageService, i18nService, () => searchService);
|
storageService, i18nService, () => searchService, logService);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('attachments upload encrypted file contents', async () => {
|
it('attachments upload encrypted file contents', async () => {
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"no-empty": [ true, "allow-empty-catch" ],
|
"no-empty": [ true ],
|
||||||
"object-literal-sort-keys": false,
|
"object-literal-sort-keys": false,
|
||||||
"object-literal-shorthand": [ true, "never" ],
|
"object-literal-shorthand": [ true, "never" ],
|
||||||
"ordered-imports": true,
|
"ordered-imports": true,
|
||||||
|
Loading…
Reference in New Issue
Block a user