Merge pull request #2317 from bitwarden/Bug/AccountSwitching/QABugBonanza

[bug] Fix several regression bugs
This commit is contained in:
Addison Beck 2022-02-07 11:59:54 -05:00 committed by GitHub
commit f9851285d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 17 deletions

2
jslib

@ -1 +1 @@
Subproject commit 448856cc22510086bfddc99e3f1022ee28727694
Subproject commit e0cc754d6fe962a5e7eae6d1dead8b44606d4853

View File

@ -3,9 +3,18 @@ document.addEventListener("DOMContentLoaded", (event) => {
let filledThisHref = false;
let delayFillTimeout: number;
const enabledKey = "enableAutoFillOnPageLoad";
chrome.storage.local.get(enabledKey, (obj: any) => {
if (obj != null && obj[enabledKey] === true) {
const activeUserIdKey = "activeUserId";
let activeUserId: string;
chrome.storage.local.get(activeUserIdKey, (obj: any) => {
if (obj == null || obj[activeUserIdKey] == null) {
return;
}
activeUserId = obj[activeUserIdKey];
});
chrome.storage.local.get(activeUserId, (obj: any) => {
if (obj != null && obj[activeUserId].settings.enableAutoFillOnPageLoad === true) {
setInterval(() => doFillIfNeeded(), 500);
}
});

View File

@ -26,6 +26,7 @@ import { routerTransition } from "./app-routing.animations";
})
export class AppComponent implements OnInit {
private lastActivity: number = null;
private activeUserId: string;
constructor(
private toastrService: ToastrService,
@ -46,19 +47,16 @@ export class AppComponent implements OnInit {
if (BrowserApi.getBackgroundPage() == null) {
return;
}
let activeUserId: string = null;
this.stateService.activeAccount.subscribe((userId) => {
activeUserId = userId;
this.activeUserId = userId;
});
this.ngZone.runOutsideAngular(() => {
if (activeUserId != null) {
window.onmousedown = () => this.recordActivity(activeUserId);
window.ontouchstart = () => this.recordActivity(activeUserId);
window.onclick = () => this.recordActivity(activeUserId);
window.onscroll = () => this.recordActivity(activeUserId);
window.onkeypress = () => this.recordActivity(activeUserId);
}
window.onmousedown = () => this.recordActivity();
window.ontouchstart = () => this.recordActivity();
window.onclick = () => this.recordActivity();
window.onscroll = () => this.recordActivity();
window.onkeypress = () => this.recordActivity();
});
(window as any).bitwardenPopupMainMessageListener = async (
@ -171,14 +169,18 @@ export class AppComponent implements OnInit {
}
}
private async recordActivity(userId: string) {
private async recordActivity() {
if (this.activeUserId == null) {
return;
}
const now = new Date().getTime();
if (this.lastActivity != null && now - this.lastActivity < 250) {
return;
}
this.lastActivity = now;
this.stateService.setLastActive(now, { userId: userId });
await this.stateService.setLastActive(now, { userId: this.activeUserId });
}
private showToast(msg: any) {

View File

@ -104,8 +104,8 @@ export class SettingsComponent implements OnInit {
this.vaultTimeout.setValue(timeout);
}
this.previousVaultTimeout = this.vaultTimeout.value;
this.vaultTimeout.valueChanges.subscribe((value) => {
this.saveVaultTimeout(value);
this.vaultTimeout.valueChanges.subscribe(async (value) => {
await this.saveVaultTimeout(value);
});
const action = await this.stateService.getVaultTimeoutAction();