aa32eb185cb3
replace empty globe with InitialsChip — onLoad rejects _favicon/ default by naturalWidth ≤16 (v3.6.7)
- time
- 2026-05-18 18:50 UTC · 5 months ago
- machine
- koh2
- parent
- 3832fe4333e7
↓ peach-browser-aa32eb18.tar.gzatlas at this save
files changed4 files
manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/popup/views/Vault.tsx+7 −0manifest.firefox.json+1 −1
@@ -2,7 +2,7 @@22 "_comment_audio_capture": "Firefox does not honor the Chrome 'audioCapture' optional_permission — getUserMedia in WebExtensions is gated solely by the runtime permission prompt. Microphone access for chirp pairing works from the popup under the existing '<all_urls>' host permission; no manifest entry is required or accepted here.",33 "manifest_version": 3,44 "name": "Peach",5- "version": "3.6.6",5+ "version": "3.6.7",66 "description": "Zero-knowledge password manager",77 "browser_specific_settings": {88 "gecko": {manifest.json+1 −1
@@ -1,7 +1,7 @@11 {22 "manifest_version": 3,33 "name": "Peach",4- "version": "3.6.6",4+ "version": "3.6.7",55 "description": "Zero-knowledge password manager",66 "action": {77 "default_popup": "src/popup/index.html",package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "peach",3- "version": "3.6.6",3+ "version": "3.6.7",44 "description": "Zero-knowledge password manager",55 "type": "module",66 "scripts": {src/popup/views/Vault.tsx+7 −0
@@ -31,6 +31,13 @@3131 alt=""3232 style="border-radius:3px;"3333 onError={() => setFailed(true)}34+ onLoad={(e) => {35+ // Chrome's _favicon/ API returns the default globe at its native36+ // 16×16 even when size=32 is requested. A real cached favicon37+ // arrives at ≥32px naturally. Treat ≤16 as "no favicon" so the38+ // InitialsChip renders instead of the globe.39+ if ((e.currentTarget as HTMLImageElement).naturalWidth <= 16) setFailed(true);40+ }}3441 />3542 </Show>3643 );