You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prototype review links without an explicit Build selection should follow the latest successful Build. Hub currently adds a build query parameter while someone browses, which silently turns the default link into a pinned snapshot.
What changes
Hub now leaves default prototype views unpinned while preserving the preview route, Controls settings, and minimized state. Explicit Build links remain pinned through navigation, copied URLs, share management, and prototype detail edits. Build selectors, Build details, comment links, canvas links, and public shares continue to identify a specific Build. Template and Default previews continue to ignore incoming Build parameters.
The dependency-age metadata check could not reach the public npm registry over TLS in the local verification environment. The focused frontend and Rails checks, complete Rails suite, and every other Hub CI step completed successfully.
An explicitly pinned review loses its pin through History → Close. Both historyPath values (prototypes/show.json.props:64 and this partial's line 28) omit build, so the history request has neither @build nor a Build parameter. This new condition then produces an unpinned closePath. Even a review pinned to the current latest Build will follow future Builds after this round trip.
Carry the optional selection through history links and pagination, resolve that selection in BuildsController, and use it for the return link. Default history visits should remain unpinned. Add a round-trip test for both default and explicitly selected reviews.
Both this assertion and line 166 check the create form: container.querySelector returns its input first. The delete form's new management_build field is therefore untested. There is also no frontend case checking that both forms omit this field for a default management view.
The Rails tests submit management_build directly, so they would not catch a missing delete-form field or a default form that starts submitting the displayed Build. Check the delete form here, keep the scoped create-form assertion, and add a default-view case that expects no management_build inputs.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Cross-layer navigation and authorization returns need runtime confirmation, and History failure-path coverage remains incomplete.
No open issues 🎉
2 previously missed issues
In code that hasn't changed since last review
Test invalid Build selections and preserve selection on cursor redirects
hub/app/controllers/builds_controller.rb:107
The new History tests cover valid Build selections and pagination, but not rejection of invalid selections or preservation through the legacy cursor redirect. The existing legacy-cursor test omits build, so it would still pass if that redirect silently unpinned an explicit selection.
Add focused cases in gallery_test.rb: History should return 404 for build=0, an unknown number such as 999, and a queued Build. Extend the legacy-cursor coverage to send an explicit successful Build and assert that the redirected URL retains it alongside before and before_at.
Update gallery guide for default Build selection behavior
hub/docs/preview-serving.md:56
The new behavior conflicts with the canonical gallery guide. hub/docs/gallery.md:140 still says the prototype name links to the selected Build, and line 144 says saving details returns to the same Build. With an unpinned URL, both actions now open the latest successful Build, which may be newer than the preview being viewed.
Update those sentences to say that the name opens the default latest-successful view and that saving preserves whether the review explicitly selected a Build.
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
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.
Why
Prototype review links without an explicit Build selection should follow the latest successful Build. Hub currently adds a
buildquery parameter while someone browses, which silently turns the default link into a pinned snapshot.What changes
Hub now leaves default prototype views unpinned while preserving the preview route, Controls settings, and minimized state. Explicit Build links remain pinned through navigation, copied URLs, share management, and prototype detail edits. Build selectors, Build details, comment links, canvas links, and public shares continue to identify a specific Build. Template and Default previews continue to ignore incoming Build parameters.
The dependency-age metadata check could not reach the public npm registry over TLS in the local verification environment. The focused frontend and Rails checks, complete Rails suite, and every other Hub CI step completed successfully.