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:
2
jslib
2
jslib
Submodule jslib updated: 448856cc22...e0cc754d6f
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user