* Enhance regression handling in SessionsWelcomeContribution: delay overlay display to prevent flashing during transient state changes
* Refactor SessionsWelcomeContribution: replace regression watching with entitlement state monitoring to prevent flashing during transient state changes
* Refactor SessionsWelcomeContribution: replace regression timeout with pending overlay timer to prevent flashing during transient state changes
* Refactor SessionsWelcomeContribution: simplify entitlement state monitoring and remove overlay delay to improve responsiveness
* Refactor SessionsWelcomeContribution: change class visibility to export for better accessibility
* Add test for overlay visibility on first launch with no entitlement
* test(sessions): simplify instantiation service ownership in welcome tests
Address PR review: avoid redundant disposables.add() wrapping around
workbenchInstantiationService(), which already registers itself.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add generic badge support to customization list items
Instructions with applyTo patterns now show context info (e.g.
'always added', 'context matching *.ts') as an inline badge next to
the item name instead of baking it into the display name string. The
badge uses the same visual style as the MCP 'Bridged' badge.
The badge field is generic on IAICustomizationListItem so other
customization types can use it in the future. Badge text is also
included in search filtering.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Show pattern directly in badge with explanatory hover tooltip
Badge now shows just the applyTo pattern (e.g. '**/*.ts') or 'always
added', instead of 'context matching ...'. Hovering the badge shows a
tooltip explaining the behavior. Added badgeTooltip field to
IAICustomizationListItem for generic reuse.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Include badge tooltip in item hover
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add blank line before badge tooltip in hover
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address review: shared badge CSS, flex ellipsis fix, update spec
- Extract shared .inline-badge class used by both MCP bridged badge
and item badges to avoid style drift.
- Add min-width: 0 and flex: 1 1 auto to .item-name so long names
truncate correctly inside the flex row.
- Update AI_CUSTOMIZATIONS.md to reflect that badges show the raw
applyTo pattern with tooltip explanation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Keep badge adjacent to name instead of right-aligned
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Sessions: Replace Changes view badge with inline title count
Replace the NumberBadge on the Changes view tab with an inline title
that shows the file count directly, e.g. '7 Changes' instead of a
badge overlay.
- Export dynamic changesContainerTitle with a getter-based value
- Add refreshContainerInfo() to IViewContainerModel interface and
ViewContainerModel implementation
- Remove IActivityService/NumberBadge dependency from ChangesViewPane
* Fix incorrect file count by using topLevelStats
The inline title count was reading from activeSessionChangesObs (raw
session changes only) instead of topLevelStats which accounts for
deduplication and version mode filtering. Move the title update into
onVisible() where topLevelStats is available, and reset the title
when the view is hidden.
* Address review feedback
- Add blank line separator after changesContainerTitle block
- Add constructor-level fallback autorun to keep title in sync when
the view is hidden and the active session changes
- Reset title to 'Changes' on dispose to avoid stale counts
* Keep inline file count when switching tabs
Remove the updateContainerTitle(0) call from the hide handler so
the count persists when the user switches to another tab. The
fallback autorun in the constructor still handles session switches
while the view is hidden.
* Fix grammar: use singular '1 Change' instead of '1 Changes'
---------
Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
feat: group chat extension customizations under 'Built-in' in management editor
Items contributed by the default chat extension (GitHub Copilot Chat) are
now shown under a 'Built-in' group header instead of 'Extensions' in the
Chat Customizations editor. This applies to agents, skills, prompts, and
instructions — matching the existing pattern used by the MCP list widget.
The grouping is determined at the UI layer using IProductService to
identify the chat extension ID, setting groupKey on matching items.
No data model changes needed.
- Move BUILTIN_STORAGE/AICustomizationPromptsStorage to common layer
- Add BUILTIN_STORAGE to VS Code harness filter sources
- Add isChatExtensionItem() helper using productService.defaultChatAgent
- Set groupKey: BUILTIN_STORAGE for items from the chat extension
- Add tests for builtin source filtering
- Update AI_CUSTOMIZATIONS.md spec
* Enhance collapsed sidebar widget with session status indicators and panel toggle button
* Refactor sidebar toggle button and update CSS class for session status
Co-authored-by: Copilot <copilot@github.com>
---------
Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
* Enhance auxiliary bar widget functionality and styling
- Update CollapsedAuxiliaryBarWidget to always be visible and act as a toggle for the auxiliary bar.
- Improve layout and interaction by adding a button for session changes.
- Adjust CSS for the auxiliary bar widget and titlebar layout actions for better visibility and animation.
- Refactor related components to ensure proper integration and state management.
* Add context key and views service stubs for SessionsTerminalContribution tests
---------
Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>