Skip to content

Give the npack CLI package a store listing; faster details; bump to 0.9.3 - #42

Merged
imattau merged 5 commits into
masterfrom
claude/happy-franklin-c4bsrp
Nov 9, 2026
Merged

imattau merged 5 commits into
masterfrom
claude/happy-franklin-c4bsrp

Conversation

@imattau

@imattau imattau commented Nov 9, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Only the npack-gui manifest built by packaging/build-npk.sh had an app block, so the npack CLI package published with no summary, description or categories and showed as Uncategorised in Browse.
  • The npack manifest now carries a summary, description, homepage, licence, the System and PackageManager categories and a release date (the same values as the GUI; no icon or desktop file, since it is a console app).
  • Details were still slow after the first view: the local GetPackage lookup (from 0.9.2) verified the signature of every event in the catalogue before checking its name, so each call cost time proportional to the whole catalogue (about 1 s for 3,000 releases in a debug build). select_release now checks name, platform, publisher, trust and version first and verifies only the remaining candidates (about 12 ms for the same catalogue), and the lookup runs on a blocking thread so it cannot stall other daemon requests. The set of filters is unchanged, so the result is the same.
  • Updated the header comment in the script and the matching line in AGENTS.md.
  • Bumps npack and npack-gui to 0.9.3 (and Cargo.lock).

Notes

  • The branch history includes a no-op merge of the old PR Answer GetPackage from the local catalogue; bump to 0.9.2 #41 branch (its content is already in master), because the remote branch could not be force-pushed. A squash merge drops it.
  • v0.9.2 is unaffected; the listing and the faster details appear from the next release.
  • The catalogue file is still parsed on each details view (about 70 ms for 3,000 releases in a debug build); caching it in the daemon is a possible follow-up.

Test plan

  • packaging/build-npk.sh 0.0.0 <key> target/debug <out>: the npack manifest has the listing and npack verify accepts it
  • packaging/check-release-version.sh 0.9.3
  • cargo test -p npack (188 passed), including a new test that a tampered event is still rejected after the filter reorder
  • cargo clippy --all-targets --all-features clean
  • CI
  • After release, open details for an already-viewed package in the GUI and confirm it appears quickly (not run here)

🤖 Generated with Claude Code

https://claude.ai/code/session_01RjtG22dxbf2JzLCaCkuW9U

The GUI details pane called GetPackage on every open, which connected to
relays and resolved live each time. The daemon now selects the release from
the local catalogue and the cached artifact event, falling back to relays
only on a miss. Install passes live: true to keep resolving from relays.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjtG22dxbf2JzLCaCkuW9U
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjtG22dxbf2JzLCaCkuW9U
Only npack-gui's manifest had an app block, so the CLI package published with
no summary, description or categories and showed as Uncategorised in Browse.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjtG22dxbf2JzLCaCkuW9U
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjtG22dxbf2JzLCaCkuW9U
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjtG22dxbf2JzLCaCkuW9U
@imattau
imattau merged commit 750de59 into master Nov 9, 2026
1 check passed
@imattau imattau changed the title Give the npack CLI package a store listing; bump to 0.9.3 Give the npack CLI package a store listing; faster details; bump to 0.9.3 Nov 9, 2026
imattau pushed a commit that referenced this pull request Nov 9, 2026
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjtG22dxbf2JzLCaCkuW9U
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.

2 participants