8254614ba3a7
shorten pairing confirmation while preserving vault-access consent (v5.3.10)
- time
- 2026-10-08 17:46 UTC · 2 weeks ago
- machine
- Junes-MacBook-Pro.local
- agent
- gpt-6
- session
- reliable firefox passkey sign-in
- parent
- a9f8cf99d108
↓ peach-browser-8254614b.tar.gzatlas at this save
files changed5 files
manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/popup/views/AdoptVaultView.test.tsx+3 −2src/popup/views/AdoptVaultView.tsx+13 −14manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach Password Manager",4- "version": "5.3.9",4+ "version": "5.3.10",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": "5.3.9",5+ "version": "5.3.10",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": "5.3.9",3+ "version": "5.3.10",44 "description": "Zero-knowledge password manager",55 "license": "GPL-3.0-only",66 "type": "module",src/popup/views/AdoptVaultView.test.tsx+3 −2
@@ -230,8 +230,9 @@230230 await flushView();231231 232232 expect(view.container.textContent).toContain("48219371");233- expect(view.container.textContent).toContain("Confirm this 8-digit code");234- expect(view.container.textContent).toContain("complete copy of its vault");233+ expect(view.container.textContent).toContain("Match this code with your other device.");234+ expect(view.container.textContent).toContain("This device will receive your vault and recovery access.");235+ expect(view.container.querySelector(".peach-adopt-privacy")).toBeNull();235236 expect(view.container.textContent).not.toContain("session ID");236237 expect(button(view.container, "Confirm code")).toBeTruthy();237238 expect(view.container.querySelector(".peach-adoption-sas")).toBeTruthy();src/popup/views/AdoptVaultView.tsx+13 −14
@@ -269,7 +269,7 @@269269 {receiverComplete()270270 ? "Your devices are connected. Getting your vault ready…"271271 : receiverSas()272- ? "Make sure this code matches the one on your phone."272+ ? "Match this code with your other device."273273 : "Scan this QR in Peach on the device that already has your vault."}274274 </p>275275 @@ -303,15 +303,12 @@303303 }304304 >305305 <div class="peach-adopt-confirmation">306- <p class="peach-adopt-confirmation-label">8-DIGIT SAFETY CODE</p>306+ <p class="peach-adopt-confirmation-label">SAFETY CODE</p>307307 <div class="peach-adoption-sas" aria-label="Pairing confirmation code">308308 <strong>{receiverSas()}</strong>309309 </div>310310 <p class="peach-adopt-confirmation-help">311- Confirm this 8-digit code matches the phone you intend to312- trust. Approving replaces this empty device with a complete313- copy of its vault, including existing passwords, passkeys,314- notes, and recovery access.311+ This device will receive your vault and recovery access.315312 </p>316313 <button317314 class="peach-btn peach-btn--accent peach-btn--md"@@ -323,14 +320,16 @@323320 </div>324321 </Show>325322 326- <div class="peach-adopt-privacy">327- <svg viewBox="0 0 24 24" aria-hidden="true">328- <path d="M7 10V8a5 5 0 0 1 10 0v2" />329- <rect x="5" y="10" width="14" height="10" rx="3" />330- <path d="M12 14v2" />331- </svg>332- <p><strong>Private by design.</strong> {RELAY_DISCLOSURE}</p>333- </div>323+ <Show when={!receiverSas()}>324+ <div class="peach-adopt-privacy">325+ <svg viewBox="0 0 24 24" aria-hidden="true">326+ <path d="M7 10V8a5 5 0 0 1 10 0v2" />327+ <rect x="5" y="10" width="14" height="10" rx="3" />328+ <path d="M12 14v2" />329+ </svg>330+ <p><strong>Private by design.</strong> {RELAY_DISCLOSURE}</p>331+ </div>332+ </Show>334333 335334 <div class="peach-adopt-actions peach-adopt-pair-actions">336335 <button class="peach-btn peach-btn--ghost peach-btn--md" onClick={props.onCancel}>Cancel</button>