e416e9012b02

trash list grows to fill popup; favicon img onerror falls back to type icon (v2.1.2)

time
2026-04-26 14:32 UTC · 6 months ago
machine
koh2
parent
ee1f6563c07d
7 files manifest.firefox.json+1 −1manifest.json+1 −1package.json+1 −1src/popup/styles/popup.css+9 −0src/popup/views/Entry.tsx+8 −1src/popup/views/TrashView.tsx+2 −2src/popup/views/Vault.tsx+11 −2
manifest.firefox.json+1 −1
@@ -1,7 +1,7 @@11 {22   "manifest_version": 3,33   "name": "Peach",4-  "version": "2.1.1",4+  "version": "2.1.2",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.1.1",4+  "version": "2.1.2",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.1.1",3+  "version": "2.1.2",44   "description": "Zero-knowledge password manager",55   "type": "module",66   "scripts": {

view file

src/popup/styles/popup.css+9 −0
@@ -4602,6 +4602,15 @@46024602   gap: 4px;46034603   flex-shrink: 0;46044604 }4605+.peach-trash-list {4606+  flex: 1;4607+  min-height: 0;4608+  overflow-y: auto;4609+}4610+.peach-trash-notice {4611+  margin: 0 20px 16px;4612+  margin-top: auto;4613+}46054614 46064615 /* ── Settings shortcuts grid ─────────────────────────────────────────── */46074616 .peach-shortcuts-grid {

view file

src/popup/views/Entry.tsx+8 −1
@@ -480,7 +480,14 @@480480                         onClick={() => startEdit("url", entry().url ?? "")}481481                       >482482                         <Show when={faviconSrc()}>483-                          <img src={faviconSrc()!} width="16" height="16" alt="" style="border-radius:3px;margin-right:5px;flex-shrink:0;" />483+                          <img484+                            src={faviconSrc()!}485+                            width="16"486+                            height="16"487+                            alt=""488+                            style="border-radius:3px;margin-right:5px;flex-shrink:0;"489+                            onError={(e) => { (e.currentTarget as HTMLImageElement).style.display = "none"; }}490+                          />484491                         </Show>485492                         <span class="peach-domain-value">486493                           {displayDomain() || (entry().url ? entry().url : "add a website url")}

view file

src/popup/views/TrashView.tsx+2 −2
@@ -77,7 +77,7 @@7777         </Show>7878 7979         <Show when={!loading() && deleted().length > 0}>80-          <div class="peach-settings-group">80+          <div class="peach-settings-group peach-trash-list">8181             <p class="peach-settings-label">8282               {deleted().length} deleted {deleted().length === 1 ? "entry" : "entries"}8383             </p>@@ -166,7 +166,7 @@166166             </div>167167           </div>168168 169-          <div class="peach-info-notice" style="margin:0 20px 16px">169+          <div class="peach-info-notice peach-trash-notice">170170             Deleted entries are auto-removed based on your trash retention setting.171171           </div>172172         </Show>

view file

src/popup/views/Vault.tsx+11 −2
@@ -7,9 +7,18 @@77   const src = props.domain && !props.isNote && !props.isPasskey88     ? faviconUrl(props.domain)99     : null;10+  const fallback = props.isPasskey ? PASSKEY_ICON : props.isNote ? NOTE_ICON : LOGIN_ICON;11+  const [failed, setFailed] = createSignal(false);1012   return (11-    <Show when={src} fallback={props.isPasskey ? PASSKEY_ICON : props.isNote ? NOTE_ICON : LOGIN_ICON}>12-      <img src={src!} width="16" height="16" alt="" style="border-radius:3px;" />13+    <Show when={src && !failed()} fallback={fallback}>14+      <img15+        src={src!}16+        width="16"17+        height="16"18+        alt=""19+        style="border-radius:3px;"20+        onError={() => setFailed(true)}21+      />1322     </Show>1423   );1524 }

view file