bebbb78af591
purge remaining old peach paths — popup/index.html pre-hydration splash, Lock.tsx preloaded data: image, content/inject.ts form-field icon; update passkey badge background and RecoveryRune default tint to new peach-dark #E5805C. Bump v3.6.2
- time
- 2026-05-18 17:28 UTC · 5 months ago
- machine
- koh2
- parent
- bce5679f7717
↓ peach-browser-bebbb78a.tar.gzatlas at this save
files changed8 files
manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/background/passkey.ts+1 −1src/content/inject.ts+4 −4src/popup/components/RecoveryRuneBackground.tsx+1 −1src/popup/index.html+6 −4src/popup/views/Lock.tsx+6 −4manifest.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.1",5+ "version": "3.6.2",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.1",4+ "version": "3.6.2",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.1",3+ "version": "3.6.2",44 "description": "Zero-knowledge password manager",55 "type": "module",66 "scripts": {src/background/passkey.ts+1 −1
@@ -105,7 +105,7 @@105105 if (!chrome.action?.setBadgeText) return;106106 await chrome.action.setBadgeText({ text });107107 if (text) {108- await chrome.action.setBadgeBackgroundColor({ color: "#D96830" });108+ await chrome.action.setBadgeBackgroundColor({ color: "#E5805C" });109109 }110110 }111111 src/content/inject.ts+4 −4
@@ -92,14 +92,14 @@9292 }9393 9494 function peachIconSvg(): string {95- // Peach body is always brand-peach (#D96830), not `accentHex` — a sage96- // or sky accent must not turn the autofill icon green or blue. Accent95+ // Peach body stays brand-peach regardless of `accentHex` — a sage or96+ // sky accent must not turn the autofill icon green or blue. Accent9797 // color still tints surrounding glow/hover halos below.98- return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 64 64" fill="none" aria-hidden="true"><path d="M32 54C16 54 8 44 8 31C8 18 17 10 27 10C28 7 30 5.5 32 5.5C34 5.5 36 7 37 10C47 10 56 18 56 31C56 44 48 54 32 54Z" fill="#D96830"/><path d="M37 8.5C40.5 3.5 48 5 46 10.5C42 11 37 8.5 37 8.5Z" fill="#7B9060"/></svg>`;98+ return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 240 240" fill="none" aria-hidden="true"><path d="M 124 64 C 134 32 168 16 200 22 C 198 56 168 72 130 66 Z" fill="#92AC65"/><path d="M 130 64 C 152 46 178 30 196 24" stroke="#5E7A42" stroke-width="2.6" fill="none" stroke-linecap="round"/><path d="M 120 60 C 75 45 28 75 22 130 C 18 185 65 222 125 222 C 185 222 222 185 220 130 C 218 78 170 45 120 60 Z" fill="#FFB082"/><path d="M 120 60 C 75 45 28 75 22 130 C 18 185 65 222 125 222 C 105 195 75 150 100 90 C 105 75 112 65 120 60 Z" fill="#E5805C"/><ellipse cx="178" cy="108" rx="20" ry="11" fill="#FFD0A8" opacity="0.7" transform="rotate(-26 178 108)"/></svg>`;9999 }100100 101101 function checkSvgStr(): string {102- return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 20 20" fill="none" stroke="#7B9060" stroke-width="1.5" stroke-linecap="round"><path d="M4 10.5L8 14.5L16 6.5"/></svg>`;102+ return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 20 20" fill="none" stroke="#5E7A42" stroke-width="1.5" stroke-linecap="round"><path d="M4 10.5L8 14.5L16 6.5"/></svg>`;103103 }104104 105105 function smartUrl(): { origin: string; title: string; loginSubdomain: boolean } {src/popup/components/RecoveryRuneBackground.tsx+1 −1
@@ -16,7 +16,7 @@1616 }1717 1818 // Peach brand accent color used for default tinting19-const DEFAULT_ACCENT = "rgba(217, 104, 48, 0.16)"; // #D96830 at ~16% opacity19+const DEFAULT_ACCENT = "rgba(229, 128, 92, 0.16)"; // #E5805C at ~16% opacity2020 2121 // Fewer rows = fewer total visible runes2222 const FONT_SIZE = 14;src/popup/index.html+6 −4
@@ -27,10 +27,12 @@2727 <section class="peach-screen peach-theme peach-screen-prelock">2828 <div class="peach-screen-header">2929 <span class="peach-wordmark-wrap">30- <svg class="peach-brand-mark" width="14" height="14" viewBox="0 0 64 64" fill="none" aria-hidden="true">31- <path d="M32 54C16 54 8 44 8 31C8 18 17 10 27 10C28 7 30 5.5 32 5.5C34 5.5 36 7 37 10C47 10 56 18 56 31C56 44 48 54 32 54Z" fill="#D96830"></path>32- <path d="M37 8.5C40.5 3.5 48 5 46 10.5C42 11 37 8.5 37 8.5Z" fill="#7B9060"></path>33- <path d="M32 5.5Q35.5 1 39 2.5" stroke="#7B9060" stroke-width="1.5" stroke-linecap="round"></path>30+ <svg class="peach-brand-mark" width="14" height="14" viewBox="0 0 240 240" fill="none" aria-hidden="true">31+ <path d="M 124 64 C 134 32 168 16 200 22 C 198 56 168 72 130 66 Z" fill="#92AC65"></path>32+ <path d="M 130 64 C 152 46 178 30 196 24" stroke="#5E7A42" stroke-width="2.6" fill="none" stroke-linecap="round"></path>33+ <path d="M 120 60 C 75 45 28 75 22 130 C 18 185 65 222 125 222 C 185 222 222 185 220 130 C 218 78 170 45 120 60 Z" fill="#FFB082"></path>34+ <path d="M 120 60 C 75 45 28 75 22 130 C 18 185 65 222 125 222 C 105 195 75 150 100 90 C 105 75 112 65 120 60 Z" fill="#E5805C"></path>35+ <ellipse cx="178" cy="108" rx="20" ry="11" fill="#FFD0A8" opacity="0.7" transform="rotate(-26 178 108)"></ellipse>3436 </svg>3537 <span class="peach-status-pip is-hidden"></span>3638 <span class="peach-wordmark">peach</span>src/popup/views/Lock.tsx+6 −4
@@ -13,10 +13,12 @@1313 1414 const peachMarkImg = new Image();1515 peachMarkImg.src = `data:image/svg+xml,${encodeURIComponent(16- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" fill="none">' +17- '<path d="M32 54C16 54 8 44 8 31C8 18 17 10 27 10C28 7 30 5.5 32 5.5C34 5.5 36 7 37 10C47 10 56 18 56 31C56 44 48 54 32 54Z" fill="#D96830"/>' +18- '<path d="M37 8.5C40.5 3.5 48 5 46 10.5C42 11 37 8.5 37 8.5Z" fill="#7B9060"/>' +19- '<path d="M32 5.5Q35.5 1 39 2.5" stroke="#7B9060" stroke-width="1.5" stroke-linecap="round"/>' +16+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" fill="none">' +17+ '<path d="M 124 64 C 134 32 168 16 200 22 C 198 56 168 72 130 66 Z" fill="#92AC65"/>' +18+ '<path d="M 130 64 C 152 46 178 30 196 24" stroke="#5E7A42" stroke-width="2.6" fill="none" stroke-linecap="round"/>' +19+ '<path d="M 120 60 C 75 45 28 75 22 130 C 18 185 65 222 125 222 C 185 222 222 185 220 130 C 218 78 170 45 120 60 Z" fill="#FFB082"/>' +20+ '<path d="M 120 60 C 75 45 28 75 22 130 C 18 185 65 222 125 222 C 105 195 75 150 100 90 C 105 75 112 65 120 60 Z" fill="#E5805C"/>' +21+ '<ellipse cx="178" cy="108" rx="20" ry="11" fill="#FFD0A8" opacity="0.7" transform="rotate(-26 178 108)"/>' +2022 '</svg>'2123 )}`;2224