Skip to content

Linux appimage icon not shown in task bar and stage seperation#702

Merged
abose merged 5 commits into
mainfrom
xxx
May 13, 2026
Merged

Linux appimage icon not shown in task bar and stage seperation#702
abose merged 5 commits into
mainfrom
xxx

Conversation

@abose
Copy link
Copy Markdown
Member

@abose abose commented May 13, 2026

No description provided.

abose and others added 5 commits May 13, 2026 11:03
Adds patchElectronStageBranding helper invoked from all 4 electron build
entry points after config-effective.json is written. Writes the kebab-case
stage identifier into both src-electron/electron-builder.yml productName
(becomes the .desktop StartupWMClass) and src-electron/package.json
desktopName (Electron 41.5+ Wayland app_id) so they match per stage:
  dev   -> phoenix-code-experimental-build
  stage -> phoenix-code-pre-release
  prod  -> phoenix-code

Without per-stage identifiers the AppImages collapse into one taskbar
entry / icon slot when installed side-by-side.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous "did we change anything" check inferred regex match failure
from `patched === builderYml`, which also fires when the productName line
is already the target value — so a second run (or any prod build, since
the committed default is already `phoenix-code`) threw "Could not find
productName line". Test the regex directly instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
src-electron/package.json desktopName and src-electron/electron-builder.yml
productName were committed as the prod kebab (`phoenix-code`), but the
matching display productName ("Phoenix Code Experimental Build") and
config.json `stage: dev` are dev defaults. Align both to the dev kebab so
a raw `npm run build:appimage` (no wrapper script) produces a coherent
dev AppImage; CI wrappers continue to overwrite per stage via
patchElectronStageBranding.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The BrowserWindow icon path resolved correctly in dev (`__dirname` =
src-electron/, so `../src-tauri/icons/icon.png` reached the source tree)
but not in the packaged AppImage, where `__dirname` is inside the asar
and src-tauri/ is not bundled. Electron silently dropped the icon and
the taskbar fell back to the generic Electron icon.

Copy icon.png into the AppImage's resources/ via extraResources, and
load it from process.resourcesPath when app.isPackaged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
16.3% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@abose abose merged commit 7ad6dd7 into main May 13, 2026
1 of 6 checks passed
@abose abose deleted the xxx branch May 13, 2026 10:57
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