7009878b61cc
adopt password screen headline uses Cormorant Garamond display like the rest of onboarding; restore-tab back returns to the onboarding carousel instead of the create-vault screen, bump 4.10.16
- time
- 2026-08-20 15:17 UTC · 2 months ago
- machine
- koh2
- agent
- qwen3.8-max
- session
- peach ui fixes
- parent
- 7fe9dbe9d471
↓ peach-browser-7009878b.tar.gzatlas at this save
files changed7 files
manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/popup/styles/popup.css+4 −1src/popup/views/Lock.tsx+6 −1src/popup/views/contracts.test.tsx+18 −0tests/lock-screen.spec.ts+18 −0manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach Password Manager",4- "version": "4.10.15",4+ "version": "4.10.16",55 "description": "Zero-knowledge password manager",66 "browser_specific_settings": {77 "gecko": {manifest.json+1 −1
@@ -2,7 +2,7 @@22 "manifest_version": 3,33 "minimum_chrome_version": "116",44 "name": "Peach Password Manager",5- "version": "4.10.15",5+ "version": "4.10.16",66 "description": "Zero-knowledge password manager",77 "action": {88 "default_popup": "src/popup/index.html",package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "peach",3- "version": "4.10.15",3+ "version": "4.10.16",44 "description": "Zero-knowledge password manager",55 "license": "GPL-3.0-only",66 "type": "module",src/popup/styles/popup.css+4 −1
@@ -7223,7 +7223,10 @@72237223 72247224 .peach-adopt-card h1 {72257225 margin: 0 0 10px;7226- font-size: 1.28rem;7226+ font-family: var(--font-display);7227+ font-style: italic;7228+ font-weight: 400;7229+ font-size: 1.42rem;72277230 line-height: 1.15;72287231 }72297232 src/popup/views/Lock.tsx+6 −1
@@ -302,7 +302,12 @@302302 <RestoreTabView303303 hasVault={props.hasVault}304304 onOpenCodexRestore={props.onOpenCodexRestore}305- onBack={() => setRestoreSurface(null)}305+ onBack={() => {306+ // The restore tab is only reached from the onboarding carousel,307+ // so back returns there — not to the create-vault form.308+ if (props.onBackToOnboarding) props.onBackToOnboarding();309+ else setRestoreSurface(null);310+ }}306311 onUnlock={async () => {307312 setRestoreSurface(null);308313 await props.onUnlock();src/popup/views/contracts.test.tsx+18 −0
@@ -583,6 +583,24 @@583583 expect(container.querySelector("#master-password")).toBeNull();584584 });585585 586+ it("Lock restore-tab back returns to onboarding, not the create-vault screen", async () => {587+ const onBackToOnboarding = vi.fn();588+ const container = mount(() => (589+ <LockView590+ hasVault={false}591+ ready={true}592+ onUnlock={vi.fn()}593+ initialRestore={true}594+ onBackToOnboarding={onBackToOnboarding}595+ />596+ ));597+ await flushView();598+599+ (container.querySelector(".peach-lock-restore-link") as HTMLButtonElement).click();600+ await flushView();601+ expect(onBackToOnboarding).toHaveBeenCalledTimes(1);602+ });603+586604 it("HOLE 4: removing a device discloses that recovery words survive revocation", async () => {587605 const device = {588606 deviceId: "phone-1",tests/lock-screen.spec.ts+18 −0
@@ -294,6 +294,24 @@294294 await expect(reopened.locator(".peach-onboarding-card")).toHaveCount(0);295295 await ctx.close();296296 });297+298+ test("LS23 - back from the restore tab returns to onboarding, not create-vault", async () => {299+ const { popup } = await loadPopup(ctx);300+ const next = popup.locator(".peach-onboarding-next");301+ await next.click();302+ await popup.waitForTimeout(350);303+ await next.click();304+ await popup.waitForTimeout(350);305+ await popup.locator(".peach-onboarding-choice:not(.peach-onboarding-choice--adopt)").click();306+ await expect(popup.locator(".peach-restore-tabs")).toBeVisible({ timeout: 5000 });307+308+ await popup.locator(".peach-lock-restore-link").click();309+310+ await expect(popup.locator(".peach-onboarding-card")).toBeVisible({ timeout: 5000 });311+ await expect(popup.locator(".peach-onboarding-card")).toContainText("Already using Peach?");312+ await expect(popup.locator("#master-password")).toHaveCount(0);313+ await ctx.close();314+ });297315 });298316 299317 test.describe("Lock Screen - Auto-lock Configuration", () => {