From 11ebb3bdb6c4af0d940ff010b63fa45bd5e21e41 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 6 Oct 2026 07:50:38 -0400 Subject: [PATCH 1/2] Windows packaging: Start Menu/Add-Remove icon, no console window, correct description The MSI Icon id had no .ico/.exe extension, which Windows Installer needs for advertised shortcuts and ARPPRODUCTICON, so both showed a blank icon. Release builds of the desktop app are now GUI-subsystem (no console window; the CLI stays a console program), the shortcut/summary description names what LightCraft does, and packaging-lint rejects an Icon id without an extension. Found in printcraft#57. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/packaging-lint.yml | 4 ++++ packaging/windows/lightcraft.wxs | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/packaging-lint.yml b/.github/workflows/packaging-lint.yml index 41b361cb..2b53ae6c 100644 --- a/.github/workflows/packaging-lint.yml +++ b/.github/workflows/packaging-lint.yml @@ -47,6 +47,10 @@ jobs: - name: XML, desktop entry, AppStream, Flatpak manifest run: | xmllint --noout packaging/windows/lightcraft.wxs packaging/macos/*.plist* packaging/linux/*.xml* + # Windows Installer needs Icon ids ending in .ico or .exe, or shortcuts show a blank icon. + if grep -oE '"$RUNNER_TEMP/ai.storyteller.lightcraft.metainfo.xml" appstreamcli validate --no-net --explain "$RUNNER_TEMP/ai.storyteller.lightcraft.metainfo.xml" diff --git a/packaging/windows/lightcraft.wxs b/packaging/windows/lightcraft.wxs index 9d41899d..37510455 100644 --- a/packaging/windows/lightcraft.wxs +++ b/packaging/windows/lightcraft.wxs @@ -17,15 +17,15 @@ Scope="perMachine" Compressed="yes" Language="1033"> - + - - + + @@ -45,8 +45,8 @@ + Description="LightCraft photo library and raw developer" WorkingDirectory="INSTALLFOLDER" Advertise="yes" + Icon="LightcraftIcon.ico" IconIndex="0" /> From fec3b1523493f350e837ad20eed9c86606eac8ac Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 6 Oct 2026 07:53:44 -0400 Subject: [PATCH 2/2] release.yml: explicit if for the wasm-bindgen install (shellcheck SC2015) packaging-lint has failed on main since this step was added; same behaviour. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7b04f35f..8b3bdea3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -221,8 +221,9 @@ jobs: - name: Install wasm-bindgen CLI run: | # Must match the wasm-bindgen version in Cargo.lock exactly (cargo xtask web checks it). - command -v wasm-bindgen >/dev/null && wasm-bindgen --version | grep -q "$WASM_BINDGEN_VERSION" \ - || cargo install wasm-bindgen-cli --version "$WASM_BINDGEN_VERSION" --locked + if ! { command -v wasm-bindgen >/dev/null && wasm-bindgen --version | grep -q "$WASM_BINDGEN_VERSION"; }; then + cargo install wasm-bindgen-cli --version "$WASM_BINDGEN_VERSION" --locked + fi wasm-bindgen --version - name: Apply version override if: inputs.version != ''