You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maka.apache.org by "sunrioa (via GitHub)" <gi...@apache.org> on 2026/09/20 07:27:53 UTC

[I] macOS app and installer icon renders as noise at 16px and 32px [maka]

sunrioa opened a new issue, #5528:
URL: https://github.com/apache/maka/issues/5528

   ### What happened
   
   On macOS the Maka icon renders as coloured noise everywhere the system draws it small: Finder list
   and column rows, the sidebar, Activity Monitor, the Trash, and the mounted "Maka Installer" volume
   that the DMG presents. The Dock, Launchpad and the DMG window itself look correct, which is why this
   is easy to miss.
   
   The artwork is fine. The bundled `icon.icns` stores its 16px and 32px faces as PNG data in the
   legacy `icp4`/`icp5`/`icp6` slots, and macOS does not decode PNG from those slots — it renders
   whatever bytes are there. Sizes from 128px up live in `ic07`…`ic14`, which is why only the small
   faces break.
   
   ```console
   $ python3 - <<'PY'
   import struct
   b = open('/Volumes/Maka Installer/Maka.app/Contents/Resources/icon.icns','rb').read()
   off = 8
   while off + 8 <= len(b):
       t = b[off:off+4].decode(); n = struct.unpack('>I', b[off+4:off+8])[0]
       kind = 'PNG' if b[off+8:off+16].startswith(b'\x89PNG') else 'ARGB'
       print(t, n, kind); off += n
   PY
   icp4 746 PNG      <- 16x16, not rendered
   icp5 1320 PNG     <- 32x32, not rendered
   icp6 2270 PNG     <- 64x64, not rendered
   ic07 4649 PNG
   ic08 9992 PNG
   ...
   ```
   
   Every other macOS app on the same machine stores those two sizes as `ic04`/`ic05` ARGB, and Apple's
   own `iconutil` writes them that way too.
   
   **Cause.** electron-builder 26.15.2 swapped its icon generator (png2icons → wasm-vips) and started
   packing PNG into the legacy slots; 26.15.3, which `apps/desktop/package.json` pins, has the same
   regression. Upstream tracked it as electron-userland/electron-builder#9940 and fixed it in
   26.16.0 by bumping the icons toolset to 1.2.3.
   
   The `.icns` is produced by a toolset electron-builder downloads at build time, so this is invisible
   in the repository and in the lockfile. Running the pinned toolset by hand reproduces the shipped
   bytes exactly, and the fixed one produces a renderable icon:
   
   | icons toolset | small-size slots | output |
   | --- | --- | --- |
   | 1.1.0 (electron-builder 26.15.3) | `icp4`/`icp5`/`icp6` PNG | 159115 bytes, byte-identical to the shipped `icon.icns` |
   | 1.2.3 (electron-builder 26.16.1) | `ic04`/`ic05` ARGB | 123793 bytes, renders correctly at 16px |
   
   The DMG inherits it: `.VolumeIcon.icns` is a byte-for-byte copy of the app icon, so the installer
   volume shows the same noise.
   
   ### How to reproduce
   
   1. Download any recent macOS build, e.g. the Desktop Nightly DMG for Apple Silicon.
   2. Mount it. The "Maka Installer" volume in the Finder sidebar already shows the broken icon.
   3. Drag `Maka.app` to `/Applications` and switch Finder to list view — the row icon is noise.
   4. Or extract the faces Apple's way and look at the 16px one:
      ```sh
      iconutil --convert iconset -o /tmp/maka.iconset /Applications/Maka.app/Contents/Resources/icon.icns
      open /tmp/maka.iconset/icon_16x16.png
      ```
   
   ### Environment
   
   - Maka Desktop 0.2.0 nightlies (checked `0.2.0-dev.37.20260915` and `0.2.0-dev.43.20260919`), and
     0.1.11, so this predates the current cycle
   - macOS 26.5.2 (25F84), Apple Silicon
   - Built with the pinned `electron-builder` 26.15.3
   
   ### Logs, screenshots, or additional context
   
   Not macOS-specific in principle, but the Windows `.ico` path uses different slots and is unaffected.
   
   A version pin alone would not have caught this, since the bytes come from a downloaded toolset. The
   packaged artifact is the only place the result is visible, so the macOS packaging verifier is where
   a guard belongs.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org


Re: [I] bug(release): macOS app and installer icon renders as noise at 16px and 32px [maka]

Posted by "Astro-Han (via GitHub)" <gi...@apache.org>.
Astro-Han closed issue #5528: bug(release): macOS app and installer icon renders as noise at 16px and 32px
URL: https://github.com/apache/maka/issues/5528


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org