Repository navigation
HubPanel: pull and bundle-build actions - #57
Merged
Merged
Conversation
Community entries gain a pull button streaming hub_pull_state progress through the existing download-progress UI, and saved models gain a build button in the bundle tab surfacing the built path/size/sha256. Failures render the server's own error text. A pre-1.1 server answers the unknown action type with a validation error, which reads as an explicit unsupported-action note instead of a hang. Mirrors protocol 1.1 from spikeforge#81 (schemas + generated client). Verified: npm run build, npm run scripts:test, npm run desktop:test. End-to-end runs in CI. Closes #47.
The panel now speaks protocol 1.1; the pins mirror the latest compatibility.json row (spikeforge 0.6.0, hub/server 0.4.0) per the file's own contract.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #47.
What
hub_pull, with progress streamed fromhub_pull_statethrough the existing download-progress UI (including cancel).bundle_build, surfacing the returned path, size, and sha256.useHubexposespullEntry/buildBundlewith progress state, mirroring the reference hook from spikeforge#81.protocol_version.txt, regeneratedgenerated.ts(diff is exactly the new types + 1.1). Negotiation is major-only, so 1.0 servers keep working for every other action.ModelBundleTab, which also bringsModelPanelback to the 200-line component limit.Notes for review
useHubis 190 lines against the 120-line hook guideline; the new in-flight/error-capture logic lives in its ownuseHubPendingActionhook, and the remainder is the spikeforge#81 reference shape (several existing hooks are also over 120).model.build/model.built*strings are English-only with the standard EN fallback, matching the recentpublish.*keys.hub_cancelper the server's intent, but over a real socket the current server ignores pull-cancel:server/app.pyinterceptshub_cancelbefore the pull-aware handler. Filed as hub_cancel over the socket never reaches the pull-aware handler spikeforge#96 with reproduction; no dashboard change needed once that lands.Verification
npm run build— passes.npm run scripts:test— passes, including 7 new unit tests for the error capture/unsupported classification (src/hubActionError.test.ts).npm run desktop:test— passes.src/, so the selector takes the full tier).