Repository navigation
🤖 feat: sub-agent tasks strip in the VS Code webview dock #5109
Copy link
Copy link
Closed
Description
Activity
- added 5 commits that reference this issue
on Sep 29, 2026 - added a commit that references this issue
on Sep 30, 2026 Picked up by the issue coordinator: workspace workspace-74 (c18e502645), branch xum-5109-webview-subagent-strip
Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:highClosed when #5657 merged. The stack is complete.
- 🤖 refactor: extract props-driven SubAgentTasksContent from the sub-agent tasks tray #5634: props-driven
SubAgentTasksContent, extracted from the desktop tray. - 🤖 feat: keep the VS Code host's workspace list live #5651: the VS Code host keeps its workspace list live. Unrelated metadata events cause 0
workspacesposts at about 4.5k workspaces. - 🤖 feat: sub-agent tasks strip in the VS Code webview dock #5657: the webview dock shows the sub-agent tasks strip. The host runs one activity pump for the selected workspace and its descendants.
Residual work, all labeled backlog:
- 🤖 feat: nested workflow run discovery in the VS Code webview sub-agent strip #5652: nested (workflow-in-workflow) run discovery in the webview. A nested run's header leaves the strip after its workers finish. The enclosing top-level run stays visible as "Workflow · running".
- 🤖 fix: VS Code live workspace list follow-ups (refresh race, reconnect, multi-project filter) #5654: live list follow-ups. These are a refresh race on a connection change, reconnect after a stream error, and the multi-project filter on updates.
- 🤖 fix: VS Code dock activity pump follow-ups (restart after natural end, narrower task slice) #5658: dock follow-ups. These are restarting the activity pump after it ends by itself, a narrower
taskslice, a stale comment and a direct no-restart assertion.
Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high- 🤖 refactor: extract props-driven SubAgentTasksContent from the sub-agent tasks tray #5634: props-driven
Metadata
Metadata
Assignees
Labels
No labels
Refs #4968. Split out of the #5092 dock-strips work.
Problem
Desktop ChatPane shows the sub-agent tasks strip (
SubAgentTasksDecoration) above the composer, so running and finished sub-agents and workflow runs stay visible from the parent chat. The VS Code webview dock has no equivalent, so sub-agents are invisible there. The webview marks the strip asplannedinvscode/src/webview/chatUiCapabilities.ts.Why it is not a drop-in
src/browser/components/SubAgentTasksDecoration/SubAgentTasksDecoration.tsxreads data the webview does not have:WorkspaceContext(useWorkspaceMetadata()), including task status and workflow-task fields. The extension host'stoUiWorkspaceprojection drops those fields, and the webview mounts no WorkspaceContext.WorkspaceStoresidebar state for the parent and every descendant (activeWorkflowRunIds, live/working hints, armed monitors). The webview has no WorkspaceStore, and the host's activity pump (vscode/src/workspaceActivityPump.ts) forwards only the selected workspace's monitor count.workflows.listActiveRuns(cold-mount discovery) and pollsworkflows.getRunStatusesfor nested runs. Neither is invscode/src/orpcAllowlist.ts.navigateToWorkspacefrom the router, which is a no-op in the webview's embedded router. The webview equivalent is the hostselectWorkspacemessage (oropenWorkspace).Proposed approach
StreamingBarrierContent. Keep the content component inHOT_COMPONENTS.workflows.listActiveRunsandworkflows.getRunStatusesthrough the bridge, limited to known workspace ids with fixed input shapes.selectWorkspace.chatUiCapabilities.tstosupported, with App.test coverage and a side-by-side web vs webview check.Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high