17a9ede2f7f8

fix toast popup-opening bug, shrink toast and PasskeyApproval to sleek size (v2.39.5)

time
2026-05-13 15:47 UTC · 5 months ago
machine
koh2
parent
7d181f9e9ab4
8 files manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/background/passkey.ts+1 −4src/content/passkey-toast/PasskeyToast.tsx+0 −4src/content/passkey-toast/inject.tsx+3 −1src/content/passkey-toast/passkey-toast.css+9 −9src/popup/styles/popup.css+10 −10
manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach",4-  "version": "2.39.4",4+  "version": "2.39.5",55   "description": "Zero-knowledge password manager",66   "browser_specific_settings": {77     "gecko": {

view file

manifest.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach",4-  "version": "2.39.4",4+  "version": "2.39.5",55   "description": "Zero-knowledge password manager",66   "action": {77     "default_popup": "src/popup/index.html",

view file

package.json+1 −1
@@ -1,6 +1,6 @@11 {22   "name": "peach",3-  "version": "2.39.2",3+  "version": "2.39.5",44   "description": "Zero-knowledge password manager",55   "type": "module",66   "scripts": {

view file

src/background/passkey.ts+1 −4
@@ -425,10 +425,7 @@425425         username: request.userName,426426         requestId: String(request.requestId),427427       },428-    }).catch(() => {429-      // Content script not loaded on this tab — fall back to popup.430-      void openApprovalPopup();431-    });428+    }).catch(() => {});432429   } else {433430     await openApprovalPopup();434431   }

view file

src/content/passkey-toast/PasskeyToast.tsx+0 −4
@@ -68,10 +68,6 @@6868           {props.displayName} · {props.username}6969         </div>7070 71-        <p class="peach-passkey-toast-notice">72-          Peach will authenticate you with your stored passkey for {props.site}.73-        </p>74-7571         <div class="peach-passkey-toast-countdown">7672           <div7773             class="peach-passkey-toast-countdown-bar"

view file

src/content/passkey-toast/inject.tsx+3 −1
@@ -88,11 +88,13 @@8888   }8989 }9090 91-chrome.runtime.onMessage.addListener((msg) => {91+chrome.runtime.onMessage.addListener((msg, _sender, sendResponse) => {9292   if (msg.type === 'SHOW_PASSKEY_TOAST') {9393     showPasskeyToast(msg.payload);94+    sendResponse({ ok: true });9495   }9596   if (msg.type === 'DISMISS_PASSKEY_TOAST') {9697     dismissPasskeyToast();98+    sendResponse({ ok: true });9799   }98100 });

view file

src/content/passkey-toast/passkey-toast.css+9 −9
@@ -7,7 +7,7 @@77   right: 16px;88   z-index: 2147483647;99 10-  width: 320px;10+  width: 260px;1111 1212   background: #0C0A06;1313   border: 0.5px solid rgba(240, 232, 216, 0.07);@@ -58,21 +58,21 @@5858   to   { opacity: 0; transform: translateY(-12px) scale(0.96); }5959 }6060 61-/* Body — centered column, matching PasskeyApprovalView layout */61+/* Body — centered column */6262 .peach-passkey-toast-body {6363   display: flex;6464   flex-direction: column;6565   align-items: center;66-  padding: 22px 20px 18px;67-  gap: 10px;66+  padding: 16px 16px 14px;67+  gap: 8px;6868   text-align: center;6969 }7070 7171 /* Key icon */7272 .peach-passkey-toast-icon {73-  width: 46px;74-  height: 46px;75-  border-radius: 12px;73+  width: 36px;74+  height: 36px;75+  border-radius: 10px;7676   background: #1A1710;7777   border: 1px solid rgba(240, 232, 216, 0.07);7878   display: flex;@@ -94,11 +94,11 @@9494 .peach-passkey-toast-headline {9595   font-family: 'Cormorant Garamond', 'Georgia', 'Times New Roman', serif;9696   font-style: italic;97-  font-size: 22px;97+  font-size: 18px;9898   font-weight: 300;9999   color: #F0E8D8;100100   line-height: 1.1;101-  margin: 2px 0;101+  margin: 1px 0;102102 }103103 104104 /* User pill */

view file

src/popup/styles/popup.css+10 −10
@@ -2105,15 +2105,15 @@21052105   display: flex;21062106   flex-direction: column;21072107   align-items: center;2108-  padding: 22px 20px 18px;2109-  gap: 10px;2108+  padding: 16px 20px 14px;2109+  gap: 8px;21102110   text-align: center;21112111 }21122112 21132113 .peach-passkey-approval-icon {2114-  width: 46px;2115-  height: 46px;2116-  border-radius: 12px;2114+  width: 36px;2115+  height: 36px;2116+  border-radius: 10px;21172117   background: var(--peach-s2);21182118   border: 1px solid var(--peach-t3);21192119   display: flex;@@ -2125,9 +2125,9 @@21252125 21262126 .peach-passkey-approval-icon img,21272127 .peach-passkey-approval-icon svg {2128-  width: 28px;2129-  height: 28px;2130-  border-radius: 6px;2128+  width: 22px;2129+  height: 22px;2130+  border-radius: 5px;21312131 }21322132 21332133 .peach-passkey-approval-rp {@@ -2141,10 +2141,10 @@21412141   font-family: var(--font-display);21422142   font-style: italic;21432143   font-weight: 300;2144-  font-size: 22px;2144+  font-size: 18px;21452145   color: var(--peach-t0);21462146   line-height: 1.1;2147-  margin: 2px 0;2147+  margin: 1px 0;21482148 }21492149 21502150 .peach-passkey-approval-user {

view file