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
{{ message }}
Repository navigation
Canvases: share definition refresh logic across Editor and Agents windows #341696
The Editor Window Canvas menu added by #341597 and the Agents Window Add Tab → Canvas menu added for microsoft/vscode-internalbacklog#10058 currently maintain separate canvas-definition refresh implementations. The broader Agents Window customization work originated in microsoft/vscode-internalbacklog#9997.
Both implementations independently handle:
active owner/chat identity;
asynchronous definition listing;
preserving the current list during same-owner refreshes;
structural equality for content-identical results;
coalescing repeated invalidations;
stale request and disposal guards;
clearing definitions when the owner changes or canvases become unavailable.
The surface-specific adapters and menu placement should remain separate, but the common refresh lifecycle could live in a Workbench-owned helper so both vs/workbench and vs/sessions can consume it without reversing the layer dependency.
A possible shape is a CanvasDefinitionStore that accepts an owner key, invalidation signal, and asynchronous list callback, and exposes an observable definition list. Editor and Agents Window code would continue to own their context/session routing, menu IDs, ordering, and open actions.
Acceptance criteria
Introduce a Workbench-layer canvas-definition refresh abstraction reusable by Editor and Agents windows.
Preserve existing behavior for owner changes, unavailable canvases, failed refreshes, reconnects, and open native menus.
Keep surface-specific menu contribution and canvas-opening behavior outside the shared helper.
Retain focused regression coverage for stable commands, refresh coalescing, stale requests, and structurally identical results.
Activity
canvases: refactor: share definition refresh logic across windows (#3…