use EnvironmentService to get the appropriate web vault URL (#5862)

This commit is contained in:
Jonathan Prusik 2023-07-31 14:41:41 -04:00 committed by GitHub
parent 7ef2acc11a
commit fb74c2d6ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 3 deletions

View File

@ -5,6 +5,7 @@ import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
import { ThemeType } from "@bitwarden/common/enums";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction";
@ -30,7 +31,8 @@ export default class NotificationBackground {
private authService: AuthService,
private policyService: PolicyService,
private folderService: FolderService,
private stateService: BrowserStateService
private stateService: BrowserStateService,
private environmentService: EnvironmentService
) {}
async init() {
@ -167,6 +169,7 @@ export default class NotificationBackground {
isVaultLocked: this.notificationQueue[i].wasVaultLocked,
theme: await this.getCurrentTheme(),
removeIndividualVault: await this.removeIndividualVault(),
webVaultURL: await this.environmentService.getWebVaultUrl(),
},
});
} else if (this.notificationQueue[i].type === NotificationQueueMessageType.ChangePassword) {
@ -175,6 +178,7 @@ export default class NotificationBackground {
typeData: {
isVaultLocked: this.notificationQueue[i].wasVaultLocked,
theme: await this.getCurrentTheme(),
webVaultURL: await this.environmentService.getWebVaultUrl(),
},
});
}

View File

@ -834,6 +834,7 @@ document.addEventListener("DOMContentLoaded", (event) => {
isVaultLocked: typeData.isVaultLocked,
theme: typeData.theme,
removeIndividualVault: typeData.removeIndividualVault,
webVaultURL: typeData.webVaultURL,
};
const barQueryString = new URLSearchParams(barQueryParams).toString();
const barPage = "notification/bar.html?" + barQueryString;

View File

@ -30,7 +30,16 @@ function load() {
notificationChangeDesc: chrome.i18n.getMessage("notificationChangeDesc"),
};
document.getElementById("logo-link").title = i18n.appName;
const logoLink = document.getElementById("logo-link") as HTMLAnchorElement;
logoLink.title = i18n.appName;
// Update logo link to user's regional domain
const webVaultURL = getQueryVariable("webVaultURL");
const newVaultURL = webVaultURL && decodeURIComponent(webVaultURL);
if (newVaultURL && newVaultURL !== logoLink.href) {
logoLink.href = newVaultURL;
}
// i18n for "Add" template
const addTemplate = document.getElementById("template-add") as HTMLTemplateElement;

View File

@ -570,7 +570,8 @@ export default class MainBackground {
this.authService,
this.policyService,
this.folderService,
this.stateService
this.stateService,
this.environmentService
);
this.tabsBackground = new TabsBackground(this, this.notificationBackground);