Add placeholder app icon and wire it into the Windows build

Generate build/icon.svg — a white download glyph on the teal brand square,
mirroring the in-app brand mark (Onboarding.tsx) — and rasterise it to a
multi-size build/icon.ico (256/128/64/48/32/16) via ImageMagick. Uncomment
win.icon in electron-builder.yml so installers stop falling back to the default
Electron icon. Marks CODE-AUDIT.md M3 placeholder-done; a designed asset is
still wanted before v1.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 13:10:54 -04:00
parent af9300d5e3
commit 81b97ea429
4 changed files with 28 additions and 11 deletions
+11 -7
View File
@@ -270,17 +270,21 @@ Add a note near `parseExtraArgs`: "No escape-sequence support; quotes cannot nes
---
#### M3 — Release polish: app icon commented out
#### M3 — Release polish: app icon
**File:** [electron-builder.yml:45](electron-builder.yml)
**File:** [electron-builder.yml:48](electron-builder.yml)
**Severity:** Cosmetic
**Status:** Deferred — TODO(release) comment added; requires a designed icon asset before v1.0
**Status:** Placeholder done — 2026-06-23; a *designed* asset is still wanted before v1.0
**Description:**
The `icon:` line is commented out pending final icon asset. Bundled binaries are correctly handled (graceful "not found" errors everywhere).
The `icon:` line was commented out pending a final icon asset, so builds fell back to the default Electron icon. Bundled binaries are correctly handled (graceful "not found" errors everywhere).
**Fix:**
Add a `build/icon.ico` before shipping v1.0.
**Fix (done — placeholder):**
Added [build/icon.svg](build/icon.svg) — a white download glyph on the teal brand square, mirroring the in-app brand mark ([Onboarding.tsx](src/renderer/src/components/Onboarding.tsx)) — and rasterised it to a multi-size [build/icon.ico](build/icon.ico) (256/128/64/48/32/16) via ImageMagick. The `win.icon` line is now uncommented. Regenerate with:
```
magick -background none build/icon.svg -define icon:auto-resize=256,128,64,48,32,16 build/icon.ico
```
**Still open:** swap the placeholder for a professionally designed icon before cutting v1.0.
---
@@ -326,7 +330,7 @@ The following security-critical functions lack tests:
| P3 | UX | 15m | Low | Document or enforce concurrency semantics | **Fixed 2026-06-23** (documented) |
| M1 | Maint | 15m | Trivial | Extract `cleanError` to shared module | **Fixed 2026-06-23** |
| M2 | Maint | 15m | Trivial | Document `parseExtraArgs` limitations | **Fixed 2026-06-23** |
| M3 | Polish | 30m | Trivial | Add icon asset before release | **Deferred** (pre-release TODO) |
| M3 | Polish | 30m | Trivial | Add icon asset before release | **Placeholder done 2026-06-23**; designed asset still wanted pre-v1.0 |
| C1 | Correctness | 30m | High | Bundle missing `ffprobe.exe` + document it (found by smoke test) | **Fixed 2026-06-23** |
---