diff --git a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts index 616c75c3fa8..f271b255c3e 100644 --- a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts +++ b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts @@ -125,6 +125,10 @@ describe("VaultPopupAutofillService", () => { }); it("should only fetch the current tab once when subscribed to multiple times", async () => { + (BrowserApi.getTabFromCurrentWindow as jest.Mock).mockClear(); + + service.refreshCurrentTab(); + const firstTracked = subscribeTo(service.currentAutofillTab$); const secondTracked = subscribeTo(service.currentAutofillTab$); @@ -195,6 +199,7 @@ describe("VaultPopupAutofillService", () => { // Refresh the current tab so the mockedPageDetails$ are used service.refreshCurrentTab(); + (service as any)._currentPageDetails$ = of(mockPageDetails); }); describe("doAutofill()", () => { diff --git a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts index 4e995e093e6..2d30e857573 100644 --- a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts +++ b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts @@ -4,6 +4,7 @@ import { Injectable } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { combineLatest, + debounceTime, firstValueFrom, map, Observable, @@ -164,6 +165,7 @@ export class VaultPopupAutofillService { }), ); }), + debounceTime(50), shareReplay({ refCount: false, bufferSize: 1 }), );