UX direction A: review route, side peek, palette verbs - #168
Merged
Conversation
…osals Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B2CJp2mhGv61yHsQQqstGP
Master-detail: staged items with field diff + impact (restart plane, capacity delta), PR lane with checks/approval state and the one forge deep link, per-project history + revert. Header gains a labeled Review-changes button; every Review affordance routes there. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B2CJp2mhGv61yHsQQqstGP
Row click inspects in place (?peek=, replaceState); Enter/expand opens the full page, Esc closes. Registry actions dispatch through one shared dispatchVMAction. Pure cache read off the streamed inventory. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B2CJp2mhGv61yHsQQqstGP
Search box takes a leading verb (migrate/restart/console/...) and lists the registry action on matching enabled VMs. Summary cards carry their next action; the task dock starts collapsed with the latest task inline. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B2CJp2mhGv61yHsQQqstGP
Row-click specs move to the name link (a row click peeks now); drawer flows move to /changes; fixture carries restart flags and PR review state; new peek/changes specs; vm-peek joins the CI shot set. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B2CJp2mhGv61yHsQQqstGP
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B2CJp2mhGv61yHsQQqstGP
Owner
Author
|
Live validation on hetznet, dev image
One environment fix along the way: hetznet keeps the dev digest pinned so it can be clicked through; rollback to the released image is Temp e2e SA + binding deleted; no residue in the demo project (probe VMs created and pruned via merged PRs). |
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.
One PR for the agreed direction: keep the familiar anatomy (tree, tabs, right-click, task dock), change the interaction layer.
Review changes is a route.
/changesreplaces the drawer: staged items with a field diff and an Impact block (restart plane, capacity delta), the PR lane with checks + approval state read from the forge, per-project history + revert. Review happens in dotvirt; approval and merge stay in Forgejo — the one affordance is the deep link, and the semantic summary + impact now travel in the PR description so the forge reviewer never needs the YAML diff.Side peek. A grid row click inspects the VM in a 400px inspector (
?peek=, replaceState); Enter or the expand icon opens the full page, Esc closes. Pure cache read off the streamed inventory.Palette verbs. The masthead search takes a leading verb (
migrate web,restart db-1, ...) and lists the registry action on matching enabled VMs; runtime verbs run on pick, host verbs open the VM page carrying the intent.Next actions everywhere. Summary cards carry their action (Console/Edit); the task dock starts collapsed with the latest task inline; the header gains a labeled Review-changes button counting drafts + open PRs.
Backend:
Change.Restart(KubeVirt apply-timing, one table inmanifest),prBodyon propose,Proposal.{Approvals,RequiredApprovals,Checks}via three new forge reads (best-effort, refresher-paced). Registry actions dispatch through one shareddispatchVMAction.e2e: row-click specs move to the name link, drawer flows to the route; new peek/changes specs; fixture carries restart flags + review state; vm-peek joins the shot set. 45/45 hermetic, go + svelte-check + vitest green.
Live validation on hetznet: pending (preview image building); results will be posted here before merge.
🤖 Generated with Claude Code
https://claude.ai/code/session_01B2CJp2mhGv61yHsQQqstGP