1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-12 06:13:38 +00:00

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
4 changed files with 28 additions and 17 deletions

2
jslib

Submodule jslib updated: 448856cc22...e0cc754d6f

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();