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.
$ 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
- Download any recent macOS build, e.g. the Desktop Nightly DMG for Apple Silicon.
- Mount it. The "Maka Installer" volume in the Finder sidebar already shows the broken icon.
- Drag
Maka.app to /Applications and switch Finder to list view — the row icon is noise.
- Or extract the faces Apple's way and look at the 16px one:
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.
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.icnsstores its 16px and 32px faces as PNG data in thelegacy
icp4/icp5/icp6slots, and macOS does not decode PNG from those slots — it renderswhatever bytes are there. Sizes from 128px up live in
ic07…ic14, which is why only the smallfaces break.
Every other macOS app on the same machine stores those two sizes as
ic04/ic05ARGB, and Apple'sown
iconutilwrites 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.jsonpins, has the sameregression. 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
.icnsis produced by a toolset electron-builder downloads at build time, so this is invisiblein 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:
icp4/icp5/icp6PNGicon.icnsic04/ic05ARGBThe DMG inherits it:
.VolumeIcon.icnsis a byte-for-byte copy of the app icon, so the installervolume shows the same noise.
How to reproduce
Maka.appto/Applicationsand switch Finder to list view — the row icon is noise.Environment
0.2.0-dev.37.20260915and0.2.0-dev.43.20260919), and0.1.11, so this predates the current cycle
electron-builder26.15.3Logs, screenshots, or additional context
Not macOS-specific in principle, but the Windows
.icopath 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.