Repository navigation
Conversation
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
2 times, most recently
from
November 9, 2026 12:36
07ebae7 to
9830450
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 9, 2026 12:46
8f0c4a7 to
c97bd53
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 9, 2026 13:00
c97bd53 to
e7d7c34
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 9, 2026 13:25
e7d7c34 to
0435def
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 9, 2026 13:42
0435def to
71410d6
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
2 times, most recently
from
November 12, 2026 15:07
b93cf5d to
1033dd9
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 13, 2026 14:19
1033dd9 to
08f1ed5
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 13, 2026 14:20
08f1ed5 to
39d1f8b
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
2 times, most recently
from
November 13, 2026 15:14
efd14db to
374d9be
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 13, 2026 15:57
374d9be to
7023899
Compare
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 13, 2026 18:43
7023899 to
8d302f9
Compare
The row menu offers the actions the workspace allows, including Retry for a failed start or stop, Update when outdated, and Share. A spinner and a pending status mark a workspace while its action runs, and its lifecycle actions are disabled until it finishes. A push that changes one workspace renders only its rows: pushed state lives in the React Query cache, whose structural sharing keeps unchanged workspaces by identity, and TreeRow compares what a row renders with react-fast-compare instead of comparing the row object. The shared test QueryWrapper now creates its client once per mount.
- Agent rows render OpenActions with the workspace ID, agent ID and name, instead of WorkspaceActions with the whole workspace, so a push that changes only the workspace no longer renders its agent rows again. A panel test checks that only rows whose content changed render. - One ACTION_LABELS table holds each action's menu label, icon and pending status, used by the menu and the row. - While an action runs, the menu's description says why the lifecycle actions are disabled. - Drop staleTime from the pushed state query: a skipToken query never refetches.
EhabY
force-pushed
the
feat/vsc-1-workspace-actions-ui
branch
from
November 13, 2026 18:52
8d302f9 to
3ee26b5
Compare
This branch has not been 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.
React side of the workspace lifecycle actions from #1168.
workspaceActionsallows, plus Share and Settings. While an action runs, the row shows a spinner and pending status, and its lifecycle actions are disabled; the menu's description says why. OneACTION_LABELStable holds each action's label, icon and pending status.queryOptionswithskipToken), whose structural sharing keeps unchanged workspaces by identity.TreeRowcompares what a row renders withreact-fast-compare(new dependency of@repo/ui), leaving out a node'schildren, which the row does not render. Agent rows get only IDs and a name, so a push that changes one workspace re-renders only that workspace's own row; a panel test checks it.QueryWrappercreates its client once per mount, so re-renders keep the cache.Stacked on #1168.
Generated by Coder Agents for @EhabY.