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:
+11
-7
@@ -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** |
|
||||
|
||||
---
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 361 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg width="256" height="256" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Placeholder app icon (audit M3). Mirrors the in-app brand mark in
|
||||
Onboarding.tsx: a white download arrow on a rounded square in the default
|
||||
"teal" accent (theme.ts teal[80] = colorBrandBackground in light mode).
|
||||
Replace with a designed asset before v1.0; regenerate icon.ico from this. -->
|
||||
<rect x="0" y="0" width="256" height="256" rx="52" ry="52" fill="#148185"/>
|
||||
<g fill="#ffffff">
|
||||
<rect x="112" y="46" width="32" height="88" rx="12" ry="12"/>
|
||||
<polygon points="82,114 174,114 128,176"/>
|
||||
<rect x="66" y="190" width="124" height="20" rx="10" ry="10"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 699 B |
@@ -42,10 +42,11 @@ win:
|
||||
- portable
|
||||
# Never request admin elevation.
|
||||
requestedExecutionLevel: asInvoker
|
||||
# TODO(release, audit M3): drop a 256×256 (multi-size) build/icon.ico in place
|
||||
# and uncomment the next line before cutting v1.0. Until then electron-builder
|
||||
# falls back to its default Electron icon, which is fine for dev/test builds.
|
||||
# icon: build/icon.ico
|
||||
# Placeholder icon (audit M3): white download glyph on the teal brand square,
|
||||
# mirroring the in-app brand mark. Generated from build/icon.svg as a multi-size
|
||||
# .ico (256/128/64/48/32/16). Replace with a designed asset before v1.0 — re-run
|
||||
# magick -background none build/icon.svg -define icon:auto-resize=256,128,64,48,32,16 build/icon.ico
|
||||
icon: build/icon.ico
|
||||
|
||||
portable:
|
||||
artifactName: ${productName}-${version}-portable.${ext}
|
||||
|
||||
Reference in New Issue
Block a user