Browse Source

[PM-3020] Change initialization of EnvironmentService to default to uninitialized (#5830)

* Set initialized to false on construction of the EnvironmentService

* Add initialization on browser and desktop.

* Added comments.
pull/5850/head
Todd Martin 2 years ago committed by GitHub
parent
commit
b2374acc7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      apps/browser/src/background/main.background.ts
  2. 3
      apps/desktop/src/app/services/init.service.ts
  3. 5
      apps/web/src/app/core/init.service.ts
  4. 3
      libs/common/src/platform/services/environment.service.ts

3
apps/browser/src/background/main.background.ts

@ -676,6 +676,9 @@ export default class MainBackground { @@ -676,6 +676,9 @@ export default class MainBackground {
return new Promise<void>((resolve) => {
setTimeout(async () => {
await this.environmentService.setUrlsFromStorage();
// Workaround to ignore stateService.activeAccount until URLs are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = true;
if (!this.isPrivateMode) {
await this.refreshBadge();
}

3
apps/desktop/src/app/services/init.service.ts

@ -44,6 +44,9 @@ export class InitService { @@ -44,6 +44,9 @@ export class InitService {
this.nativeMessagingService.init();
await this.stateService.init();
await this.environmentService.setUrlsFromStorage();
// Workaround to ignore stateService.activeAccount until URLs are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = true;
this.syncService.fullSync(true);
(this.vaultTimeoutService as VaultTimeoutService).init(true);
const locale = await this.stateService.getLocale();

5
apps/web/src/app/core/init.service.ts

@ -38,14 +38,13 @@ export class InitService { @@ -38,14 +38,13 @@ export class InitService {
init() {
return async () => {
// Workaround to ignore stateService.activeAccount until process.env.URLS are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = false;
await this.stateService.init();
const urls = process.env.URLS as Urls;
urls.base ??= this.win.location.origin;
await this.environmentService.setUrls(urls);
// Workaround to ignore stateService.activeAccount until process.env.URLS are set
// TODO: Remove this when implementing ticket PM-2637
this.environmentService.initialized = true;
setTimeout(() => this.notificationsService.init(), 3000);

3
libs/common/src/platform/services/environment.service.ts

@ -12,7 +12,7 @@ export class EnvironmentService implements EnvironmentServiceAbstraction { @@ -12,7 +12,7 @@ export class EnvironmentService implements EnvironmentServiceAbstraction {
private readonly urlsSubject = new Subject<void>();
urls: Observable<void> = this.urlsSubject.asObservable();
selectedRegion?: Region;
initialized = true;
initialized = false;
protected baseUrl: string;
protected webVaultUrl: string;
@ -286,6 +286,7 @@ export class EnvironmentService implements EnvironmentServiceAbstraction { @@ -286,6 +286,7 @@ export class EnvironmentService implements EnvironmentServiceAbstraction {
async setRegion(region: Region) {
this.selectedRegion = region;
await this.stateService.setRegion(region);
if (region === Region.SelfHosted) {
// If user saves a self-hosted region with empty fields, default to US
if (this.isEmpty()) {

Loading…
Cancel
Save