Skip to content

feat(harbor): list the claims matching now on the card tab - #274

Open
T-Crypt wants to merge 1 commit into
T-Crypt/harbor-about-polishfrom
T-Crypt/harbor-claims
Open

T-Crypt wants to merge 1 commit into
T-Crypt/harbor-about-polishfrom
T-Crypt/harbor-claims

Conversation

@T-Crypt

@T-Crypt T-Crypt commented Oct 31, 2026

Copy link
Copy Markdown
Owner

Stacked on #273. Merge that first; this PR's base then moves to next.

The harbor never showed claims. A game's hold appeared only as a claim: lease on the board, and an app that a track claim names, such as OBS or Blender, did not appear anywhere. You had to run berth claims to see what was holding the card or what memory had a name. The card tab now has a CLAIMS panel beside the stowaways.

What it shows

  • Only the rules that match now. The panel head counts them ("2 active of 5 rules"), and idle rules are only counted.
  • Hold rows. In amber, with the lease (holds the card as l-9; engines wait), or waiting for the card with the node's wait reason.
  • Track rows. In cyan, with the card memory they name (0.6 GiB named, not a stowaway), plus GTT on an APU.
  • Card names. On a machine with several cards each row names its card from the claim's cards, the same way stowaways do. With feat(claims): hold only the cards a claim's gpu names #272, a claim held only on gpu1 reads gpu1, HOLD.
  • Empty states. "No game or app is claiming a card" when nothing matches, and "no claim rules" when the built-in pack is off and berth.toml has none.
  • The section rail has a Claims link. The About tab's section on stowaways now covers claims and this panel.
  • The demo fixture has an active OBS track claim and idle built-in rules.

The data was already in /v1/status, because the harbor forwards the node's whole status. No Go code changes.

Proof

  • A Playwright script swaps in five fixtures and checks the panel text, 27 checks in all: the stock demo, two cards with a hold granted on gpu1, a hold that is waiting, every rule idle, and no rules. All pass, with no page errors.
  • The 28 navigation checks from feat(harbor): rewrite the About tab and fix header clipping #273 pass on this branch.
  • go build, gofmt, go vet, the Windows build and vet, golangci-lint (0 issues) and go test ./... all pass.
  • CHANGELOG [Unreleased] and docs/harbor.md are updated.

The harbor never showed claims: a game's hold appeared only as a
claim: lease, and an app a track claim names, such as OBS, did not
appear at all. A CLAIMS panel now lists the rules matching now, as
berth claims does. A hold names its lease or says it is waiting, a
track gives the card memory it names, and on a machine with several
cards each row names its card. Idle rules are counted. The demo
fixture carries an active OBS track and idle built-in rules.

This branch has not been deployed

No deployments
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