Skip to content

bug: npm package 0.1.65 launches GUI 0.1.64 on macOS #248

@farzinnasiri

Description

@farzinnasiri

Operating system(s)

  • Windows
  • macOS
  • Linux

What happened?

After installing the latest npm package, the launched GUI still shows version 0.1.64 and offers "Update 0.1.65 available".

npm view howcode version returns 0.1.65, and npm list -g howcode --depth=0 shows howcode@0.1.65.

However, the launcher downloads/starts the desktop app from the GitHub release metadata, and that metadata still points to 0.1.64:

https://github.com/IgorWarzocha/howcode/releases/download/main/stable-macos-arm64-update.json

It currently returns:

{
"version": "0.1.64",
"hash": "640be4b138611667ece7d5b0b081c3c870f1bb506c1ebe25766de98b9f160b01"
}

The cached app bundle also reports 0.1.64:

~/Library/Caches/howcode/current.json -> version 0.1.64
Howcode.app Info.plist -> CFBundleShortVersionString 0.1.64

So reinstalling or clearing the npm cache updates only the npm launcher, but the actual GUI remains 0.1.64.

Steps to reproduce

  1. On macOS arm64, install the latest package:

    npm install -g howcode@latest

  2. Confirm the npm package version:

    npm view howcode version
    npm list -g howcode --depth=0

  3. Launch the app:

    howcode

  4. Observe the GUI version/update prompt.

  5. Check the desktop release metadata:

    curl -fsSL https://github.com/IgorWarzocha/howcode/releases/download/main/stable-macos-arm64-update.json

Agent implementation prompt

Investigate why the npm package version and downloadable desktop release metadata can get out of sync for howcode. Reproduce by installing howcode@0.1.65 from npm on macOS arm64 and observing that the launcher still downloads/starts the 0.1.64 GUI because stable-macos-arm64-update.json points to 0.1.64. Inspect the npm publish/release workflow and the code that generates/uploads GitHub release assets and stable update JSON files. Implement the smallest safe fix so publishing a new npm version also publishes or validates matching desktop artifacts and updates the stable metadata for each platform. Add or update tests/checks that fail when package.json, release asset versions, and stable update JSON versions diverge.

App version or commit

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions