From be95ee93285d25e7fcb9a1529a1ae26f0c1ad1a3 Mon Sep 17 00:00:00 2001 From: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> Date: Wed, 14 Oct 2020 08:58:23 -0500 Subject: [PATCH 01/14] [SSO] New user provision flow jslib update (f0dc38b -> d84d6da) (#570) * Updated import/constructors * Update jslib from f0dc38b -> d84d6da --- jslib | 2 +- src/app/accounts/set-password.component.ts | 9 ++++++--- src/app/accounts/two-factor.component.ts | 9 ++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/jslib b/jslib index f30d6f8027..d84d6da7f7 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit f30d6f8027055507abfdefd1eeb5d9aab25cc601 +Subproject commit d84d6da7f77ec89ba69299b1ff982f083fd77203 diff --git a/src/app/accounts/set-password.component.ts b/src/app/accounts/set-password.component.ts index 85a71ee99a..295ded430f 100644 --- a/src/app/accounts/set-password.component.ts +++ b/src/app/accounts/set-password.component.ts @@ -1,6 +1,9 @@ import { Component } from '@angular/core'; -import { Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { ApiService } from 'jslib/abstractions/api.service'; import { CryptoService } from 'jslib/abstractions/crypto.service'; @@ -25,9 +28,9 @@ export class SetPasswordComponent extends BaseSetPasswordComponent { cryptoService: CryptoService, messagingService: MessagingService, userService: UserService, passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router, - syncService: SyncService) { + syncService: SyncService, route: ActivatedRoute) { super(i18nService, cryptoService, messagingService, userService, passwordGenerationService, - platformUtilsService, policyService, router, apiService, syncService); + platformUtilsService, policyService, router, apiService, syncService, route); } get masterPasswordScoreWidth() { diff --git a/src/app/accounts/two-factor.component.ts b/src/app/accounts/two-factor.component.ts index 8e9033793d..9b46187f45 100644 --- a/src/app/accounts/two-factor.component.ts +++ b/src/app/accounts/two-factor.component.ts @@ -5,7 +5,10 @@ import { ViewContainerRef, } from '@angular/core'; -import { Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TwoFactorOptionsComponent } from './two-factor-options.component'; @@ -36,9 +39,9 @@ export class TwoFactorComponent extends BaseTwoFactorComponent { i18nService: I18nService, apiService: ApiService, platformUtilsService: PlatformUtilsService, syncService: SyncService, environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver, - stateService: StateService, storageService: StorageService) { + stateService: StateService, storageService: StorageService, route: ActivatedRoute) { super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService, - stateService, storageService); + stateService, storageService, route); super.onSuccessfulLogin = () => { return syncService.fullSync(true); }; From 0dc2da052f8d2bb1beed337601c63d7b9358b60d Mon Sep 17 00:00:00 2001 From: Tom Rittson Date: Wed, 28 Oct 2020 17:35:00 +1000 Subject: [PATCH 02/14] expand contributing guide --- CONTRIBUTING.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0203956af7..8b23fe28d2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,32 @@ -Code contributions are welcome! Please commit any pull requests against the `master` branch. +# How to Contribute + +Contributions of all kinds are welcome! + +Please visit our [Community Forums](https://community.bitwarden.com/) for general community discussion and the development roadmap. + +Here is how you can get involved: + +* **Request a new feature:** Go to the [Feature Requests category](https://community.bitwarden.com/c/feature-requests/) of the Community Forums. Please search existing feature requests before making a new one + +* **Write code for a new feature:** Make a new post in the [Github Contributions category](https://community.bitwarden.com/c/github-contributions/) of the Community Forums. Include a description of your proposed contribution, screeshots, and links to any relevant feature requests. This helps get feedback from the community and Bitwarden team members before you start writing code + +* **Report a bug or submit a bugfix:** Use Github issues and pull requests + +* **Write documentation:** Submit a pull request to the [Bitwarden help repository](https://github.com/bitwarden/help) + +* **Help other users:** Go to the [User-to-User Support category](https://community.bitwarden.com/c/support/) on the Community Forums + +* **Translate:** See the localization (i10n) section below + +## Contributor Agreement + +Please sign the [Contributor Agreement](https://cla-assistant.io/bitwarden/desktop) if you intend on contributing to any Github repository. Pull requests cannot be accepted and merged unless the author has signed the Contributor Agreement. + +## Pull Request Guidelines + +* use `npm run lint` and fix any linting suggestions before submitting a pull request +* commit any pull requests against the `master` branch +* include a link to your Community Forums post # Localization (l10n) From d8d1ee30229c8223910744d6a1771d1062dcc467 Mon Sep 17 00:00:00 2001 From: Chad Scharf <3904944+cscharf@users.noreply.github.com> Date: Thu, 29 Oct 2020 16:35:09 -0400 Subject: [PATCH 03/14] Handle main window hide --- jslib | 2 +- src/app/accounts/lock.component.ts | 7 +++++-- src/app/accounts/login.component.ts | 7 +++++-- src/app/accounts/register.component.ts | 7 +++++-- src/app/accounts/set-password.component.ts | 6 ++++-- src/app/vault/add-edit.component.ts | 7 +++++-- src/app/vault/export.component.ts | 7 +++++-- src/main.ts | 3 +++ 8 files changed, 33 insertions(+), 13 deletions(-) diff --git a/jslib b/jslib index d84d6da7f7..4258077179 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit d84d6da7f77ec89ba69299b1ff982f083fd77203 +Subproject commit 4258077179afa09f57712d2c9d05a9dff0b2f583 diff --git a/src/app/accounts/lock.component.ts b/src/app/accounts/lock.component.ts index 33b6d5ae80..657c0110ce 100644 --- a/src/app/accounts/lock.component.ts +++ b/src/app/accounts/lock.component.ts @@ -17,6 +17,8 @@ import { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service'; import { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component'; +import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; + @Component({ selector: 'app-lock', templateUrl: 'lock.component.html', @@ -27,9 +29,10 @@ export class LockComponent extends BaseLockComponent { userService: UserService, cryptoService: CryptoService, storageService: StorageService, vaultTimeoutService: VaultTimeoutService, environmentService: EnvironmentService, stateService: StateService, - apiService: ApiService, private route: ActivatedRoute) { + apiService: ApiService, broadcasterService: BroadcasterService, + private route: ActivatedRoute) { super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService, - storageService, vaultTimeoutService, environmentService, stateService, apiService); + storageService, vaultTimeoutService, environmentService, stateService, apiService, broadcasterService); } async ngOnInit() { diff --git a/src/app/accounts/login.component.ts b/src/app/accounts/login.component.ts index 1b06d85b5b..8fb75c7afe 100644 --- a/src/app/accounts/login.component.ts +++ b/src/app/accounts/login.component.ts @@ -22,6 +22,8 @@ import { SyncService } from 'jslib/abstractions/sync.service'; import { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component'; import { ModalComponent } from 'jslib/angular/components/modal.component'; +import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; + @Component({ selector: 'app-login', templateUrl: 'login.component.html', @@ -35,9 +37,10 @@ export class LoginComponent extends BaseLoginComponent { syncService: SyncService, private componentFactoryResolver: ComponentFactoryResolver, platformUtilsService: PlatformUtilsService, stateService: StateService, environmentService: EnvironmentService, passwordGenerationService: PasswordGenerationService, - cryptoFunctionService: CryptoFunctionService, storageService: StorageService) { + cryptoFunctionService: CryptoFunctionService, storageService: StorageService, + broadcasterService: BroadcasterService) { super(authService, router, platformUtilsService, i18nService, stateService, environmentService, - passwordGenerationService, cryptoFunctionService, storageService); + passwordGenerationService, cryptoFunctionService, broadcasterService, storageService); super.onSuccessfulLogin = () => { return syncService.fullSync(true); }; diff --git a/src/app/accounts/register.component.ts b/src/app/accounts/register.component.ts index 19fa0c1962..c6910fe1a7 100644 --- a/src/app/accounts/register.component.ts +++ b/src/app/accounts/register.component.ts @@ -9,6 +9,8 @@ import { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; import { StateService } from 'jslib/abstractions/state.service'; +import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; + import { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component'; @Component({ @@ -19,8 +21,9 @@ export class RegisterComponent extends BaseRegisterComponent { constructor(authService: AuthService, router: Router, i18nService: I18nService, cryptoService: CryptoService, apiService: ApiService, stateService: StateService, - platformUtilsService: PlatformUtilsService, passwordGenerationService: PasswordGenerationService) { + platformUtilsService: PlatformUtilsService, passwordGenerationService: PasswordGenerationService, + broadcasterService: BroadcasterService) { super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService, - passwordGenerationService); + passwordGenerationService, broadcasterService); } } diff --git a/src/app/accounts/set-password.component.ts b/src/app/accounts/set-password.component.ts index 295ded430f..0e9a9b3e03 100644 --- a/src/app/accounts/set-password.component.ts +++ b/src/app/accounts/set-password.component.ts @@ -15,6 +15,8 @@ import { PolicyService } from 'jslib/abstractions/policy.service'; import { SyncService } from 'jslib/abstractions/sync.service'; import { UserService } from 'jslib/abstractions/user.service'; +import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; + import { SetPasswordComponent as BaseSetPasswordComponent, } from 'jslib/angular/components/set-password.component'; @@ -28,9 +30,9 @@ export class SetPasswordComponent extends BaseSetPasswordComponent { cryptoService: CryptoService, messagingService: MessagingService, userService: UserService, passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router, - syncService: SyncService, route: ActivatedRoute) { + syncService: SyncService, route: ActivatedRoute, broadcasterService: BroadcasterService) { super(i18nService, cryptoService, messagingService, userService, passwordGenerationService, - platformUtilsService, policyService, router, apiService, syncService, route); + platformUtilsService, policyService, router, apiService, syncService, route, broadcasterService); } get masterPasswordScoreWidth() { diff --git a/src/app/vault/add-edit.component.ts b/src/app/vault/add-edit.component.ts index ed0d529d84..937dfbfdaa 100644 --- a/src/app/vault/add-edit.component.ts +++ b/src/app/vault/add-edit.component.ts @@ -16,6 +16,8 @@ import { UserService } from 'jslib/abstractions/user.service'; import { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component'; +import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; + @Component({ selector: 'app-vault-add-edit', templateUrl: 'add-edit.component.html', @@ -25,9 +27,10 @@ export class AddEditComponent extends BaseAddEditComponent implements OnChanges i18nService: I18nService, platformUtilsService: PlatformUtilsService, auditService: AuditService, stateService: StateService, userService: UserService, collectionService: CollectionService, - messagingService: MessagingService, eventService: EventService) { + messagingService: MessagingService, eventService: EventService, + broadcasterService: BroadcasterService) { super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService, - userService, collectionService, messagingService, eventService); + userService, collectionService, messagingService, eventService, broadcasterService); } async ngOnInit() { diff --git a/src/app/vault/export.component.ts b/src/app/vault/export.component.ts index eac41c806e..1fb5d0c70a 100644 --- a/src/app/vault/export.component.ts +++ b/src/app/vault/export.component.ts @@ -8,6 +8,8 @@ import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; import { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component'; +import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; + @Component({ selector: 'app-export', templateUrl: 'export.component.html', @@ -15,7 +17,8 @@ import { ExportComponent as BaseExportComponent } from 'jslib/angular/components export class ExportComponent extends BaseExportComponent { constructor(cryptoService: CryptoService, i18nService: I18nService, platformUtilsService: PlatformUtilsService, exportService: ExportService, - eventService: EventService) { - super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window); + eventService: EventService, broadcasterService: BroadcasterService) { + super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window, + broadcasterService); } } diff --git a/src/main.ts b/src/main.ts index e582c4cffc..49317e077f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -149,6 +149,9 @@ export class Main { event.preventDefault(); this.processDeepLink([url]); }); + + // Handle visibility event(s) + this.windowMain.win.on('hide', () => this.messagingService.send('hideMain')); }, (e: any) => { // tslint:disable-next-line console.error(e); From 5ff545e5417bbed7974110086aea149762436969 Mon Sep 17 00:00:00 2001 From: Chad Scharf <3904944+cscharf@users.noreply.github.com> Date: Mon, 2 Nov 2020 17:08:39 -0500 Subject: [PATCH 04/14] Undo broadcast service refs (not needed) --- jslib | 2 +- src/app/vault/add-edit.component.ts | 7 ++----- src/app/vault/export.component.ts | 7 ++----- src/main.ts | 3 --- 4 files changed, 5 insertions(+), 14 deletions(-) diff --git a/jslib b/jslib index 4258077179..0e9e73ce95 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 4258077179afa09f57712d2c9d05a9dff0b2f583 +Subproject commit 0e9e73ce95a321ee05edbb62c50f9e1828f69c5a diff --git a/src/app/vault/add-edit.component.ts b/src/app/vault/add-edit.component.ts index 937dfbfdaa..ed0d529d84 100644 --- a/src/app/vault/add-edit.component.ts +++ b/src/app/vault/add-edit.component.ts @@ -16,8 +16,6 @@ import { UserService } from 'jslib/abstractions/user.service'; import { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component'; -import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; - @Component({ selector: 'app-vault-add-edit', templateUrl: 'add-edit.component.html', @@ -27,10 +25,9 @@ export class AddEditComponent extends BaseAddEditComponent implements OnChanges i18nService: I18nService, platformUtilsService: PlatformUtilsService, auditService: AuditService, stateService: StateService, userService: UserService, collectionService: CollectionService, - messagingService: MessagingService, eventService: EventService, - broadcasterService: BroadcasterService) { + messagingService: MessagingService, eventService: EventService) { super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService, - userService, collectionService, messagingService, eventService, broadcasterService); + userService, collectionService, messagingService, eventService); } async ngOnInit() { diff --git a/src/app/vault/export.component.ts b/src/app/vault/export.component.ts index 1fb5d0c70a..eac41c806e 100644 --- a/src/app/vault/export.component.ts +++ b/src/app/vault/export.component.ts @@ -8,8 +8,6 @@ import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; import { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component'; -import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; - @Component({ selector: 'app-export', templateUrl: 'export.component.html', @@ -17,8 +15,7 @@ import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; export class ExportComponent extends BaseExportComponent { constructor(cryptoService: CryptoService, i18nService: I18nService, platformUtilsService: PlatformUtilsService, exportService: ExportService, - eventService: EventService, broadcasterService: BroadcasterService) { - super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window, - broadcasterService); + eventService: EventService) { + super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window); } } diff --git a/src/main.ts b/src/main.ts index 49317e077f..e582c4cffc 100644 --- a/src/main.ts +++ b/src/main.ts @@ -149,9 +149,6 @@ export class Main { event.preventDefault(); this.processDeepLink([url]); }); - - // Handle visibility event(s) - this.windowMain.win.on('hide', () => this.messagingService.send('hideMain')); }, (e: any) => { // tslint:disable-next-line console.error(e); From 4a18a4eb937e7b09c65e44d5aae1548fe1512c02 Mon Sep 17 00:00:00 2001 From: Chad Scharf <3904944+cscharf@users.noreply.github.com> Date: Mon, 2 Nov 2020 17:11:56 -0500 Subject: [PATCH 05/14] cont. removing broadcast srv jslib refs --- src/app/accounts/lock.component.ts | 7 ++----- src/app/accounts/login.component.ts | 7 ++----- src/app/accounts/register.component.ts | 7 ++----- src/app/accounts/set-password.component.ts | 6 ++---- 4 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/app/accounts/lock.component.ts b/src/app/accounts/lock.component.ts index 657c0110ce..33b6d5ae80 100644 --- a/src/app/accounts/lock.component.ts +++ b/src/app/accounts/lock.component.ts @@ -17,8 +17,6 @@ import { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service'; import { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component'; -import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; - @Component({ selector: 'app-lock', templateUrl: 'lock.component.html', @@ -29,10 +27,9 @@ export class LockComponent extends BaseLockComponent { userService: UserService, cryptoService: CryptoService, storageService: StorageService, vaultTimeoutService: VaultTimeoutService, environmentService: EnvironmentService, stateService: StateService, - apiService: ApiService, broadcasterService: BroadcasterService, - private route: ActivatedRoute) { + apiService: ApiService, private route: ActivatedRoute) { super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService, - storageService, vaultTimeoutService, environmentService, stateService, apiService, broadcasterService); + storageService, vaultTimeoutService, environmentService, stateService, apiService); } async ngOnInit() { diff --git a/src/app/accounts/login.component.ts b/src/app/accounts/login.component.ts index 8fb75c7afe..1b06d85b5b 100644 --- a/src/app/accounts/login.component.ts +++ b/src/app/accounts/login.component.ts @@ -22,8 +22,6 @@ import { SyncService } from 'jslib/abstractions/sync.service'; import { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component'; import { ModalComponent } from 'jslib/angular/components/modal.component'; -import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; - @Component({ selector: 'app-login', templateUrl: 'login.component.html', @@ -37,10 +35,9 @@ export class LoginComponent extends BaseLoginComponent { syncService: SyncService, private componentFactoryResolver: ComponentFactoryResolver, platformUtilsService: PlatformUtilsService, stateService: StateService, environmentService: EnvironmentService, passwordGenerationService: PasswordGenerationService, - cryptoFunctionService: CryptoFunctionService, storageService: StorageService, - broadcasterService: BroadcasterService) { + cryptoFunctionService: CryptoFunctionService, storageService: StorageService) { super(authService, router, platformUtilsService, i18nService, stateService, environmentService, - passwordGenerationService, cryptoFunctionService, broadcasterService, storageService); + passwordGenerationService, cryptoFunctionService, storageService); super.onSuccessfulLogin = () => { return syncService.fullSync(true); }; diff --git a/src/app/accounts/register.component.ts b/src/app/accounts/register.component.ts index c6910fe1a7..19fa0c1962 100644 --- a/src/app/accounts/register.component.ts +++ b/src/app/accounts/register.component.ts @@ -9,8 +9,6 @@ import { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service'; import { StateService } from 'jslib/abstractions/state.service'; -import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; - import { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component'; @Component({ @@ -21,9 +19,8 @@ export class RegisterComponent extends BaseRegisterComponent { constructor(authService: AuthService, router: Router, i18nService: I18nService, cryptoService: CryptoService, apiService: ApiService, stateService: StateService, - platformUtilsService: PlatformUtilsService, passwordGenerationService: PasswordGenerationService, - broadcasterService: BroadcasterService) { + platformUtilsService: PlatformUtilsService, passwordGenerationService: PasswordGenerationService) { super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService, - passwordGenerationService, broadcasterService); + passwordGenerationService); } } diff --git a/src/app/accounts/set-password.component.ts b/src/app/accounts/set-password.component.ts index 0e9a9b3e03..295ded430f 100644 --- a/src/app/accounts/set-password.component.ts +++ b/src/app/accounts/set-password.component.ts @@ -15,8 +15,6 @@ import { PolicyService } from 'jslib/abstractions/policy.service'; import { SyncService } from 'jslib/abstractions/sync.service'; import { UserService } from 'jslib/abstractions/user.service'; -import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; - import { SetPasswordComponent as BaseSetPasswordComponent, } from 'jslib/angular/components/set-password.component'; @@ -30,9 +28,9 @@ export class SetPasswordComponent extends BaseSetPasswordComponent { cryptoService: CryptoService, messagingService: MessagingService, userService: UserService, passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router, - syncService: SyncService, route: ActivatedRoute, broadcasterService: BroadcasterService) { + syncService: SyncService, route: ActivatedRoute) { super(i18nService, cryptoService, messagingService, userService, passwordGenerationService, - platformUtilsService, policyService, router, apiService, syncService, route, broadcasterService); + platformUtilsService, policyService, router, apiService, syncService, route); } get masterPasswordScoreWidth() { From bcc8bc0c800d4c84401264bacc1084b977d6b12d Mon Sep 17 00:00:00 2001 From: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> Date: Mon, 2 Nov 2020 16:32:58 -0600 Subject: [PATCH 06/14] [GDPR] Adjusted TOS/Privacy acceptance (#579) * initial commit gdpr acceptance * Removed variables/logic now found in superclass * update jslib (d84d6da -> 5e50aa1) --- jslib | 2 +- src/app/accounts/register.component.html | 14 +++++++++++++- src/locales/en/messages.json | 6 ++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/jslib b/jslib index d84d6da7f7..5e50aa1a19 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit d84d6da7f77ec89ba69299b1ff982f083fd77203 +Subproject commit 5e50aa1a195bde11fdc14e9bdf71542766fdbb8d diff --git a/src/app/accounts/register.component.html b/src/app/accounts/register.component.html index 6ff8d465cb..b43e4dbe47 100644 --- a/src/app/accounts/register.component.html +++ b/src/app/accounts/register.component.html @@ -41,7 +41,7 @@ {{'masterPassDesc' | i18n}} -
+
@@ -66,6 +66,18 @@ {{'masterPassHintDesc' | i18n}}
+
+ +