fix(desktop): standard Linux AppImage icons for AppImageLauncher#2332
fix(desktop): standard Linux AppImage icons for AppImageLauncher#2332mwolson wants to merge 1 commit intopingdotgg:mainfrom
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved Build-only changes that add Linux icon generation using ImageMagick during the desktop artifact build process. No runtime application code is modified - this only affects how AppImage packages are assembled with properly-sized icons. You can customize Macroscope's approvability policy. Learn more. |
353fee9 to
a9ba65d
Compare
a9ba65d to
d5fce53
Compare
|
Superseded by #2538. While validating this under Niri, I found a second AppImage integration issue in the same flow: remote environment setup needed a launcher-level `--password-store=gnome-libsecret` workaround so Electron would use an encrypted Linux secret store. I moved the AppImage icon fix from this PR into the new combined PR and added the secret-store fix there, with validation from a real Niri AppImage launch and a two-machine remote environment connection. Closing this narrower PR so review can happen in one place. |
What Changed
Why
Closes #2331.
AppImageLauncher and Linux desktop shells can fail to show an integrated AppImage icon when the package only contains the large source icon. Shipping the usual hicolor app icon sizes gives desktop icon lookup a standard path such as
usr/share/icons/hicolor/512x512/apps/t3code.png.This keeps the source assets small and generates the resized Linux icons at package time instead of committing generated PNGs.
Related prior art: #838 looked at runtime AppImage icon lookup. This PR fixes the packaged AppImage icon-theme entries instead.
Checklist
Validation
bun fmtbun lintbun typecheckbun run test16,22,24,32,48,64,128,256, and512.Note
Medium Risk
Changes Linux packaging to generate and ship a multi-size icon theme and adds an ImageMagick build dependency, which could cause Linux release builds to fail or produce incorrect icons if tooling/config is off.
Overview
Linux AppImage packaging now generates a standard set of hicolor-sized app icons (16–512) during
build-desktop-artifact, using ImageMagick (magickwithconvertfallback) and failing with a clear error if neither is available.Electron-builder’s Linux config is switched from a single
icon.pngto the stagedicons/directory so the produced AppImage includes the multi-size icon set, and the release workflow installs ImageMagick on Linux runners when needed.Reviewed by Cursor Bugbot for commit d5fce53. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Generate standard multi-size icons for Linux AppImage builds
stageLinuxIconSizein build-desktop-artifact.ts to resize the source PNG to standard Linux icon sizes (16–512px) using ImageMagick (magickorconvert), with a clear error if neither is available.iconconfig for Linux fromicon.pngto the generatediconsdirectory so the packaged AppImage includes all sizes.magicknorconvertis present.Macroscope summarized d5fce53.