From 9dd94a27825c83d6355b0b4d6038b36b93b808dc Mon Sep 17 00:00:00 2001 From: Jason Ng Date: Wed, 21 Jan 2026 17:16:18 -0500 Subject: [PATCH 01/12] [PM-30828] added MP reprompt check to unarchive (#18464) --- .../archive-cipher-utilities.service.spec.ts | 14 ++++++++++++++ .../services/archive-cipher-utilities.service.ts | 9 ++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/libs/vault/src/services/archive-cipher-utilities.service.spec.ts b/libs/vault/src/services/archive-cipher-utilities.service.spec.ts index 5df1bff9a56..ea00f482987 100644 --- a/libs/vault/src/services/archive-cipher-utilities.service.spec.ts +++ b/libs/vault/src/services/archive-cipher-utilities.service.spec.ts @@ -120,5 +120,19 @@ describe("ArchiveCipherUtilitiesService", () => { message: "errorOccurred", }); }); + + it("calls password reprompt check when unarchiving", async () => { + await service.unarchiveCipher(mockCipher); + + expect(passwordRepromptService.passwordRepromptCheck).toHaveBeenCalledWith(mockCipher); + }); + + it("returns early when password reprompt fails on unarchive", async () => { + passwordRepromptService.passwordRepromptCheck.mockResolvedValue(false); + + await service.unarchiveCipher(mockCipher); + + expect(cipherArchiveService.unarchiveWithServer).not.toHaveBeenCalled(); + }); }); }); diff --git a/libs/vault/src/services/archive-cipher-utilities.service.ts b/libs/vault/src/services/archive-cipher-utilities.service.ts index 93e752b57dd..b747961a701 100644 --- a/libs/vault/src/services/archive-cipher-utilities.service.ts +++ b/libs/vault/src/services/archive-cipher-utilities.service.ts @@ -74,7 +74,14 @@ export class ArchiveCipherUtilitiesService { * @param cipher The cipher to unarchive * @returns The unarchived cipher on success, or undefined on failure */ - async unarchiveCipher(cipher: CipherView) { + async unarchiveCipher(cipher: CipherView, skipReprompt = false) { + if (!skipReprompt) { + const repromptPassed = await this.passwordRepromptService.passwordRepromptCheck(cipher); + if (!repromptPassed) { + return; + } + } + const userId = await firstValueFrom(this.accountService.activeAccount$.pipe(getUserId)); try { const cipherResponse = await this.cipherArchiveService.unarchiveWithServer( From 3f466c4b4cf9c8fcdba6f42960d2a78a52948183 Mon Sep 17 00:00:00 2001 From: Jonathan Prusik Date: Wed, 21 Jan 2026 17:22:45 -0500 Subject: [PATCH 02/12] refresh top layer when top layer candidate handlers are set up (#18326) --- .../src/autofill/services/collect-autofill-content.service.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/browser/src/autofill/services/collect-autofill-content.service.ts b/apps/browser/src/autofill/services/collect-autofill-content.service.ts index 18eb8e2baf8..25fcb9038d8 100644 --- a/apps/browser/src/autofill/services/collect-autofill-content.service.ts +++ b/apps/browser/src/autofill/services/collect-autofill-content.service.ts @@ -1083,6 +1083,8 @@ export class CollectAutofillContentService implements CollectAutofillContentServ setTimeout(this.autofillOverlayContentService.refreshMenuLayerPosition, 100); } }); + + this.autofillOverlayContentService.refreshMenuLayerPosition(); } }; From 0ad1ab448ae5452f3142ead40ac1ea8d89bcb03f Mon Sep 17 00:00:00 2001 From: Todd Martin <106564991+trmartin4@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:27:24 -0500 Subject: [PATCH 03/12] fix(entitlements): Restrict entitlements for Helium browser to just the directory --- apps/desktop/resources/entitlements.mas.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/desktop/resources/entitlements.mas.plist b/apps/desktop/resources/entitlements.mas.plist index 226e9827e37..9760af69e8b 100644 --- a/apps/desktop/resources/entitlements.mas.plist +++ b/apps/desktop/resources/entitlements.mas.plist @@ -34,7 +34,7 @@ /Library/Application Support/Microsoft Edge Canary/NativeMessagingHosts/ /Library/Application Support/Vivaldi/NativeMessagingHosts/ /Library/Application Support/Zen/NativeMessagingHosts/ - /Library/Application Support/net.imput.helium + /Library/Application Support/net.imput.helium/NativeMessagingHosts/ From d80ca85e503ce6a4c38d2f6b25115386cf1e90ea Mon Sep 17 00:00:00 2001 From: Jason Ng Date: Wed, 21 Jan 2026 18:24:17 -0500 Subject: [PATCH 04/12] [PM-30857] add empty state to desktop archives (#18414) * add empty state to desktop archives --- .../vault/app/vault/vault-v2.component.html | 124 ++++++++++-------- .../src/vault/app/vault/vault-v2.component.ts | 10 ++ 2 files changed, 77 insertions(+), 57 deletions(-) diff --git a/apps/desktop/src/vault/app/vault/vault-v2.component.html b/apps/desktop/src/vault/app/vault/vault-v2.component.html index d10b3fd85c6..61b7c0ee355 100644 --- a/apps/desktop/src/vault/app/vault/vault-v2.component.html +++ b/apps/desktop/src/vault/app/vault/vault-v2.component.html @@ -10,69 +10,79 @@ [organizationId]="organizationId" > -
- -
-
-
- - - - - - - + + + + + } +
- -