Skip to content

feat(desktop): rebuild macOS app icon at standard Big Sur geometry#2508

Open
rabanspiegel wants to merge 2 commits into
mainfrom
emdash/icon-cydnq
Open

feat(desktop): rebuild macOS app icon at standard Big Sur geometry#2508
rabanspiegel wants to merge 2 commits into
mainfrom
emdash/icon-cydnq

Conversation

@rabanspiegel

@rabanspiegel rabanspiegel commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

What

Regenerates the app icons from a new 1024px master:

  • Prod: emdash-beta.icns + iconset, app-icon-beta.png (Linux)
  • Canary: emdash-canary.icns, app-icon-canary.png (Linux) — restyled to match the new prod icon, using a duotone ramp anchored on the existing canary brand yellow (#FBE577) with the dark dash

Why

The packaged icon did not follow the macOS app icon template. macOS (Big Sur+) icons place the artwork as an ~824x824 rounded square centered on a transparent 1024x1024 canvas, with a subtle baked-in drop shadow, so all app icons share the same footprint in the Dock and Finder. The canary icon is regenerated through the same pipeline so prod and canary share geometry, gradient, and shadow treatment.

How

  • Artwork scaled to 824x824, centered on a transparent 1024 canvas, with the standard drop shadow (30% black, y+10, ~22px blur)
  • All ten iconset sizes (16-512 @1x/@2x) rendered with Lanczos filtering and packed via iconutil
  • Canary variant derived from the same master via luminance-mapped duotone recolor (preserves gradient and rim lighting)
  • Linux icons updated to the matching full-bleed artwork (Linux applies no corner mask, so corners stay baked in)
  • Dev-mode dock icon (icon-dock.png) intentionally left unchanged

Verification

  • Both .icns files round-trip cleanly through iconutil
  • Prod icon packaged via electron-builder --mac dir and confirmed the bundled icon.icns is byte-identical to the new asset
  • Checked in the Dock next to system apps: tile footprint matches Apple's own icons within ~1px

Regenerate emdash-beta.icns and its iconset from the 1024px master:
artwork scaled to 824x824 on a transparent 1024 canvas with the
standard macOS drop shadow, so the icon matches the footprint and
corner shape of system app icons in the Dock and Finder. Update the
Linux icon (app-icon-beta.png) to the same full-bleed artwork.
@greptile-apps

greptile-apps Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR replaces the macOS app icon assets (emdash-beta.icns + its ten-representation iconset) and the shared Linux/Windows PNG (app-icon-beta.png) with versions rebuilt from a new 1024px master following the macOS Big Sur icon template — artwork scaled to ~824×824, centered on a transparent 1024×1024 canvas, with a baked-in drop shadow.

  • emdash-beta.icns + iconset: All 10 standard representations (16–512 @1x/@2x) regenerated via Lanczos filtering and packed with iconutil. File sizes are self-consistent: each @1x at size N matches its @2x counterpart at N/2 in pixel content, as expected.
  • app-icon-beta.png: Updated to the full-bleed 1024px master with baked-in rounded corners; this file grew ~40× and is also consumed as win.icon in the Windows packager config, so the macOS-style rounded corners will be visible on Windows.
  • Canary channel (emdash-canary.icns) is not touched by this PR and remains on the prior geometry.

Confidence Score: 4/5

Safe to merge — all changes are binary image assets with no code touched. The macOS .icns and iconset look correctly formed with all 10 standard representations.

The macOS-specific assets are correctly structured and the iconset representations are internally consistent. The one thing worth a second look is app-icon-beta.png, which doubles as the Windows installer icon — it now carries baked-in macOS-style rounded corners and a drop shadow that will show verbatim on Windows. Whether that's acceptable is a design call, but it won't break any build or runtime behavior.

apps/emdash-desktop/src/assets/images/emdash/app-icon-beta.png — confirm it's visually acceptable as the Windows icon given the baked-in rounded corners

Important Files Changed

Filename Overview
apps/emdash-desktop/src/assets/images/emdash/emdash-beta.icns Rebuilt macOS icon from new 1024px master following Big Sur geometry (artwork centered as ~824×824 rounded square on transparent canvas with drop shadow); file grew from ~173KB to ~692KB
apps/emdash-desktop/src/assets/images/emdash/app-icon-beta.png Updated to full-bleed 1024×1024 artwork; file grew ~40× (8KB → 316KB). Also referenced as win.icon in electron-builder.config.ts, so this macOS-styled image with baked-in rounded corners will appear as the Windows installer/taskbar icon.
apps/emdash-desktop/src/assets/images/emdash/emdash-beta.iconset/icon_512x512@2x.png 1024×1024 representation (512pt @2x); grew from ~67KB to ~279KB as expected for a higher-fidelity master with embedded shadow
apps/emdash-desktop/src/assets/images/emdash/emdash-beta.iconset/icon_16x16.png Smallest iconset representation; actually shrank from 1077B to 633B, which is plausible for a simpler Lanczos-downscaled image at 16px
apps/emdash-desktop/src/assets/images/emdash/emdash-beta.iconset/icon_256x256.png 256×1x iconset entry; byte-identical in size to icon_128x128@2x.png (25151B), which is the correct pattern for iconset pairs sharing the same pixel content

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    Master["1024px master artwork"]
    Master -->|"Scale to 824×824, center on transparent canvas, add drop shadow"| CanvasComp["Composited 1024×1024 PNG"]
    Master -->|"Full-bleed (baked corners)"| LinuxWinPNG["app-icon-beta.png ~316KB"]
    CanvasComp -->|"Lanczos downsample ×10 sizes"| Iconset["emdash-beta.iconset/ 16×16 … 512×512@2x"]
    Iconset -->|"iconutil --convert icns"| ICNS["emdash-beta.icns ~692KB"]
    ICNS -->|"mac.icon / dmg.icon"| MacBuild["macOS DMG/ZIP package"]
    LinuxWinPNG -->|"win.icon"| WinBuild["Windows NSIS/MSI package"]
    LinuxWinPNG -.->|"Linux auto-detection (no explicit linux.icon)"| LinuxBuild["Linux AppImage/deb/rpm"]
Loading

Comments Outside Diff (2)

  1. apps/emdash-desktop/src/assets/images/emdash/app-icon-beta.png, line 1 (link)

    P2 Windows icon will show macOS-styled rounded corners and drop shadow

    app-icon-beta.png is also wired as win.icon in electron-builder.config.ts (line 67). The PR updates this file to the Linux "full-bleed" variant with baked-in rounded corners, so those corners and the Big Sur drop shadow will be visible verbatim in the Windows installer and taskbar — Windows doesn't apply its own mask the way macOS does. If Windows visual consistency matters, a separate flat/full-bleed PNG without rounded corners is the typical approach for win.icon.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: apps/emdash-desktop/src/assets/images/emdash/app-icon-beta.png
    Line: 1
    
    Comment:
    **Windows icon will show macOS-styled rounded corners and drop shadow**
    
    `app-icon-beta.png` is also wired as `win.icon` in `electron-builder.config.ts` (line 67). The PR updates this file to the Linux "full-bleed" variant with baked-in rounded corners, so those corners and the Big Sur drop shadow will be visible verbatim in the Windows installer and taskbar — Windows doesn't apply its own mask the way macOS does. If Windows visual consistency matters, a separate flat/full-bleed PNG without rounded corners is the typical approach for `win.icon`.
    
    How can I resolve this? If you propose a fix, please make it concise.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  2. apps/emdash-desktop/src/assets/images/emdash/emdash-beta.icns, line 1 (link)

    P2 Canary channel icon not updated alongside beta

    emdash-canary.icns (referenced by electron-builder.canary.config.ts line 52) remains on the old geometry. If canary users should also benefit from the Big Sur icon treatment, a parallel update to emdash-canary.icns would be needed. This is likely intentional (separate release cycles), but worth confirming.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: apps/emdash-desktop/src/assets/images/emdash/emdash-beta.icns
    Line: 1
    
    Comment:
    **Canary channel icon not updated alongside beta**
    
    `emdash-canary.icns` (referenced by `electron-builder.canary.config.ts` line 52) remains on the old geometry. If canary users should also benefit from the Big Sur icon treatment, a parallel update to `emdash-canary.icns` would be needed. This is likely intentional (separate release cycles), but worth confirming.
    
    How can I resolve this? If you propose a fix, please make it concise.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
apps/emdash-desktop/src/assets/images/emdash/app-icon-beta.png:1
**Windows icon will show macOS-styled rounded corners and drop shadow**

`app-icon-beta.png` is also wired as `win.icon` in `electron-builder.config.ts` (line 67). The PR updates this file to the Linux "full-bleed" variant with baked-in rounded corners, so those corners and the Big Sur drop shadow will be visible verbatim in the Windows installer and taskbar — Windows doesn't apply its own mask the way macOS does. If Windows visual consistency matters, a separate flat/full-bleed PNG without rounded corners is the typical approach for `win.icon`.

### Issue 2 of 2
apps/emdash-desktop/src/assets/images/emdash/emdash-beta.icns:1
**Canary channel icon not updated alongside beta**

`emdash-canary.icns` (referenced by `electron-builder.canary.config.ts` line 52) remains on the old geometry. If canary users should also benefit from the Big Sur icon treatment, a parallel update to `emdash-canary.icns` would be needed. This is likely intentional (separate release cycles), but worth confirming.

Reviews (1): Last reviewed commit: "feat(desktop): rebuild macOS app icon at..." | Re-trigger Greptile

Regenerate emdash-canary.icns and app-icon-canary.png from the same
1024px master pipeline as the prod icon, using a duotone ramp anchored
on the existing canary brand yellow (#FBE577) with the dark dash, so
prod and canary icons share geometry, gradient, and shadow treatment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant