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
fix: customization provider API rendering bugs and sessions window isolation (#307745)
* fix: add sequence counter to loadItems to prevent race conditions
Multiple concurrent loadItems() calls can overlap when autoruns fire
simultaneously. Without serialization, a slow earlier call can resolve
after the correct one and overwrite allItems with stale/empty results.
The sequence counter ensures only the latest call's result is applied.
* fix: add missing onDidChangeInstructions subscription
The list widget subscribed to onDidChangeCustomAgents,
onDidChangeSlashCommands, and onDidChangeSkills but not
onDidChangeInstructions. This meant instruction file discovery
completing after the initial load never triggered a widget refresh.
* fix: re-establish provider onDidChange when harness registers
The autorun that subscribes to itemProvider.onDidChange only read
activeHarness. If the harness ID was persisted from a previous session,
activeHarness never changed when the CLI harness registered, so the
subscription was never set up. Now also reads availableHarnesses to
re-fire when harnesses are added/removed.
* fix: add instruction groups to filterItemsForProvider
filterItemsForProvider only had storage-based groups (local, user,
extension, builtin). Provider-supplied instruction items have semantic
groupKey values like 'context-instructions' and 'on-demand-instructions'
which didn't match any group, causing all instruction items to be
silently dropped (allItems: 0). Add instruction-semantic groups when
the current section is Instructions, matching filterItemsForCore.
* fix: ignore customization provider API in sessions window
The sessions window manages its own harnesses via
SessionsCustomizationHarnessService and the remoteAgentHost
contribution. Extension-contributed harnesses via the provider API
should not be registered in the sessions window.
this._logService.trace(`[MainThreadChatAgents2] Sessions window does not use the customization provider API, ignoring registration from ${extensionId.value}`);
{groupKey: PromptsStorage.local,label: localize('workspaceGroup',"Workspace"),icon: workspaceIcon,description: localize('workspaceGroupDescription',"Customizations stored as files in your project folder and shared with your team via version control."),items: []},
1942
-
{groupKey: PromptsStorage.user,label: localize('userGroup',"User"),icon: userIcon,description: localize('userGroupDescription',"Customizations stored locally on your machine in a central location. Private to you and available across all projects."),items: []},
{groupKey: 'agent-instructions',label: localize('agentInstructionsGroup',"Agent Instructions"),icon: instructionsIcon,description: localize('agentInstructionsGroupDescription',"Instruction files automatically loaded for all agent interactions (e.g. AGENTS.md, CLAUDE.md, copilot-instructions.md)."),items: []},
1957
+
{groupKey: 'context-instructions',label: localize('contextInstructionsGroup',"Included Based on Context"),icon: instructionsIcon,description: localize('contextInstructionsGroupDescription',"Instructions automatically loaded when matching files are part of the context."),items: []},
1958
+
{groupKey: 'on-demand-instructions',label: localize('onDemandInstructionsGroup',"Loaded on Demand"),icon: instructionsIcon,description: localize('onDemandInstructionsGroupDescription',"Instructions loaded only when explicitly referenced."),items: []},
1959
+
{groupKey: PromptsStorage.local,label: localize('workspaceGroup',"Workspace"),icon: workspaceIcon,description: localize('workspaceGroupDescription',"Customizations stored as files in your project folder and shared with your team via version control."),items: []},
1960
+
{groupKey: PromptsStorage.user,label: localize('userGroup',"User"),icon: userIcon,description: localize('userGroupDescription',"Customizations stored locally on your machine in a central location. Private to you and available across all projects."),items: []},
1961
+
{groupKey: BUILTIN_STORAGE,label: localize('builtinGroup',"Built-in"),icon: builtinIcon,description: localize('builtinGroupDescription',"Built-in customizations shipped with the application."),items: []},
1962
+
]
1963
+
: [
1964
+
{groupKey: PromptsStorage.local,label: localize('workspaceGroup',"Workspace"),icon: workspaceIcon,description: localize('workspaceGroupDescription',"Customizations stored as files in your project folder and shared with your team via version control."),items: []},
1965
+
{groupKey: PromptsStorage.user,label: localize('userGroup',"User"),icon: userIcon,description: localize('userGroupDescription',"Customizations stored locally on your machine in a central location. Private to you and available across all projects."),items: []},
0 commit comments