Repository navigation
Show Version details in a right-side drawer - #4025
Draft
rossnelson wants to merge 10 commits into
Draft
rossnelson wants to merge 10 commits into
rossnelson wants to merge 10 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
rossnelson
force-pushed
the
rossnelson/version-drawer
branch
from
October 12, 2026 22:21
239f657 to
ad92d7e
Compare
rossnelson
force-pushed
the
rossnelson/version-drawer
branch
from
October 12, 2026 22:39
ad92d7e to
3818035
Compare
The inline row expansion could not fit two long ARNs, inherited the outer table's styles, and had no room for lifecycle or task queue data. Open a 560px drawer instead, from the Build ID link or "View Details" in the row menu. The open Version lives in ?version=<buildId>, so the drawer can be linked, and Back closes it. The drawer pins the Version header to the top and the actions to a bottom bar. The body scrolls and shows: - Lifecycle: the timestamps that fit the Version's status, with the rest under "More Timestamps". - Compute Config: one block per region. On a Namespace with a replica, the primary and replica are cards. The replica collapses Access and Scaling to "Same as <primary>" when they match, tags fields that differ, and warns when no replica is configured. - Task Queues: names and types, with backlog count and age from a second request that asks for task queue stats. - Metadata and the last modifier, when set. The row's confirm modals move into a VersionActions component. The drawer renders its own copy inside itself, so the modals stay reachable while the page behind the drawer is inert. The shared drawer now has dialog semantics, a label, and Escape to close, and focus can start on a [data-autofocus] element such as a heading. Remove the row chevron, the inline details, and the unused version-details.svelte.
The drawer is a focused task, like a modal, so it uses the modal's blurred backdrop. The backdrop is opt-in on the shared drawer, and a click on it closes the drawer.
The blur hid too much. A dim alone still shows the page is inert.
The slide-in and the backdrop fade drop to 0ms when the user prefers reduced motion.
Render the drawer in each state: multi-region with a replica that inherits, is customized, or is missing; single region while ramping; self-managed Workers; loading; not found; and a load error. The stories mock the page URL and stub the version endpoint.
Keep each ARN on one line. The full value shows on hover, and the copy button copies all of it.
Put ARNs, the service account, and the external ID in the same two-column grid as the other fields. A narrow column cuts the middle of an identifier, so the region and the resource name stay visible. The full value shows on hover, and the copy button copies all of it.
The copy button is taller than a line of text, so rows with an identifier grew and their labels sat high. Fix the row height to one line and let the button center on it.
jsdom has no matchMedia, and Svelte's prefersReducedMotion reads it when the drawer loads, so every test that rendered the drawer failed.
rossnelson
force-pushed
the
rossnelson/version-drawer
branch
from
October 19, 2026 13:42
53f2d67 to
a55c716
Compare
This branch was successfully deployed
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.
Stacked on #4020.
What
Worker Deployment Version details move from an inline row expansion to a 560px right-side drawer.
?version=<buildId>, so you can link to it. Back, Escape, the close button, and an outside click close it.reportTaskQueueStats, so a slow stats call does not hold up the drawer.Why
The inline row could not fit two long ARNs. It also inherited the outer table's cell styles, and it had no room for lifecycle, task queue, or metadata data.
Notes
VersionActionscomponent. The drawer renders its own copy inside itself. The drawer makes the rest of the page inert, so modals rendered outside it would be unreachable.drawer.svelte):role="dialog",aria-modal, and anaria-labelledbyproparia-controlsis removedbackdropprop that dims the page; a click on it closes the drawerfocusTrapstarts focus on a[data-autofocus]element when the trap has oneversion-row-details.svelte,version-compute-details.svelte, and the unusedversion-details.svelte.Testing
pnpm check: clean apart from the existing catalog errorspnpm lint: 0 errorsversion-details.test.tscover the href, the lifecycle rows, the region blocks, the replica comparison, and the metadata decoding.