Skip to content

[mirror] microsoft/vscode#307433 [WIP] Fix issue with editing commit message in sessions#962

Open
austindyoung wants to merge 3143 commits intomainfrom
driftfence/mirror/pr-307433/latest
Open

[mirror] microsoft/vscode#307433 [WIP] Fix issue with editing commit message in sessions#962
austindyoung wants to merge 3143 commits intomainfrom
driftfence/mirror/pr-307433/latest

Conversation

@austindyoung
Copy link
Copy Markdown
Owner

Automated mirror PR for DriftFence counterfactual telemetry.

Source PR: microsoft#307433
Source URL: microsoft#307433
Mirror branch: driftfence/mirror/pr-307433/latest

This PR is maintained by automation for telemetry and review links.

bpasero and others added 30 commits March 30, 2026 10:33
* Simplify codeblock rendering in chat markdown

* Simplify URIs more

Co-authored-by: Copilot <copilot@github.com>

* Simplify

Co-authored-by: Copilot <copilot@github.com>

* Fix error

* Also hold a model reference

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
…6420)

sessions - align sticky section headers in sidebar list

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ay (microsoft#306139)

* quickinput: expose alignment observable, keep Command Center visible when Quick Pick is dragged

When the Quick Pick is dragged away from its default top position, the
Command Center in the title bar no longer hides. Previously it always
hid on Quick Pick show, even when the widget was in a custom position
where it wouldn't overlap.

Changes:
- Add QuickInputAlignment type ('top' | 'center' | 'custom') and
  alignment observable to IQuickInputService
- DnD controller tracks alignment via _setAlignmentState() helper that
  updates both the context key and the observable
- Each service layer has a stable observableValue mirrored via autorun
  (avoids breaking subscriptions on lazy controller creation)
- Command Center uses autorun to reactively show/hide based on alignment
- Fix onShowEmitter.fire() timing (moved after layoutContainer so
  alignment is settled before listeners fire)
- Fix top===0 truthiness bugs in layoutContainer and updateLayout
- Fix double-click reset not updating alignment state

Fixes microsoft#306138

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* quickinput: handle anchored inputs and partial state in alignment

- Set alignment to 'custom' for anchored quick inputs (positioned near
  a DOM element, not at the top)
- Re-sync alignment from DnD controller on non-anchored show to prevent
  stale 'custom' value after an anchored input closes
- Guard setAlignment() to no-op while an anchored input is visible
- DnD alignment typed as IObservable<QuickInputAlignment> (read-only)
- Require both top and left in persisted state before marking as custom

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…t#306419)

sessions: fix title bar context menu and session icons

- Fix Unpin action missing from title bar context menu by looking up
  actual pinned state via SessionsView instead of hardcoding false
- Remove context menu for new/unsent sessions where actions like
  delete, pin, and archive don't apply
- Use session type icons (Codicon.copilot, Codicon.cloud) for
  AgentSessionAdapter instead of provider-level icons

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rosoft#306393)

* Initial plan

* fix: treat empty workspace label as "Unknown" in groupByWorkspace

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/4a4e1db0-915c-4a70-98de-10e2ef3ca42a

Co-authored-by: bpasero <900690+bpasero@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: bpasero <900690+bpasero@users.noreply.github.com>
The chat input on the Agent Sessions welcome page would collapse from
~44px to ~22px after the first character typed, hiding the text.

Root cause: ChatWidget.layout() reserves MIN_LIST_HEIGHT (50px) for the
chat list even when the welcome page hides it via CSS. With a layout
height of 150px, the remaining budget for the input part was only 100px.
Once the input part's non-editor chrome (~128px for toolbars, padding,
attachments) was subtracted, _effectiveInputEditorMaxHeight dropped to 0,
collapsing the editor.

Fix: call setInputPartMaxHeightOverride(272) before layout so the input
part has enough budget independent of the artificially small layout
height. This mirrors what other compact chat surfaces (e.g. stacked chat
view) already do.

Fixes microsoft#304544

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
microsoft#306435)

* sessions: fix Show All Sessions filter out of sync with view on reload

The IsWorkspaceGroupCappedContext context key was never initialized from
persisted storage on reload, causing the menu checkmark to always show
as checked (default true) regardless of the stored value.

Fix by binding the context key in the constructor and syncing it with
the persisted SessionsList state in renderBody. Also fix the Reset
action which was resetting the internal state but not the context key.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* use sessionsControl as source of truth for reset context key

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…feedback-polish

Enhance agent feedback widget styles and animations
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ts (microsoft#306439)

Move RawContextKey definitions for active session state (provider ID, type,
background provider, git repository, chat session provider ID) from
sessionsManagementService.ts and copilotChatSessionsActions.ts into the
shared sessions/common/contextkeys.ts module. Replace hardcoded context
key strings with .key property access in all consumers.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…-marmot

sessions: fix welcome page chat input collapsing on first keystroke
Guard focus calls in NewChatViewPane and SessionsWelcomeOverlay
by checking IQuickInputService.currentQuickInput before focusing.
This prevents the sessions welcome page from closing an already
open quick pick (e.g. Open Recent) and stealing focus to the
chat input box.

Fixes microsoft#294505

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rkdown (microsoft#306468)

* sessions: change description type to IMarkdownString and render it

- Change ISessionData, IChat, and ISession description field types from
  string | undefined to IMarkdownString | undefined
- Update all provider implementations (CopilotCLISession, RemoteNewSession,
  AgentSessionAdapter, RemoteSessionAdapter) to use IMarkdownString
- In AgentSessionAdapter._extractDescription, wrap plain strings in
  MarkdownString; IMarkdownString values are passed through as-is
- In sessionsList.ts, render markdown descriptions using markdownRendererService
  with sanitizerConfig: { replaceWithPlaintext: true } — matching the existing
  agentSessionsViewer.ts pattern; fallback status labels use plain textContent
- Add MutableDisposable to track the markdown render lifecycle so it is
  properly cleared when status changes
- Update CSS to handle paragraph elements inside rendered markdown
- Update SESSIONS_PROVIDER.md documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update src/vs/sessions/contrib/remoteAgentHost/browser/remoteAgentHostSessionsProvider.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* sessions: clear descriptionDisposable on plain-text fallback to avoid leaks

When the status is active (InProgress/NeedsInput/Error) but description
becomes undefined, the previous markdown renderer was left alive even though
its container element had been removed from the DOM by the autorun rebuild.

Fix: call descriptionDisposable.clear() in every else-branch (plain-text
fallback) so any prior IMarkdownRendererService render is disposed before
the new plain-text content is set.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: fix import of IsNewChatSessionContext after move to common/contextkeys.ts

Upstream commit moved IsNewChatSessionContext from sessionsManagementService.ts
to the centralised common/contextkeys.ts. Update the import in
sessionsTitleBarWidget.ts accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
sessions: do not steal focus from quick picks during welcome overlay startup
* Simplify codeblock rendering in chat markdown

* Simplify URIs more

Co-authored-by: Copilot <copilot@github.com>

* Simplify

Co-authored-by: Copilot <copilot@github.com>

* Fix error

* Also hold a model reference

Co-authored-by: Copilot <copilot@github.com>

* Optimize CodeBlockPart pool

* Helper

Co-authored-by: Copilot <copilot@github.com>

* Cleanup

Co-authored-by: Copilot <copilot@github.com>

* Fix

---------

Co-authored-by: Copilot <copilot@github.com>
…icrosoft#306482)

Clear codeBlocksByResponseId, codeBlocksByEditorUri, fileTreesByResponseId,
and focusedFileTreesByResponseId when elements leave the viewport. These
maps are only read for the focused response which is always visible, so
retaining entries for off-screen elements is unnecessary memory usage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This no longer appears to be used
mjbvz and others added 30 commits April 1, 2026 23:01
For microsoft#288457

Workaround until we can get core tracking input states properly
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
…upine

Remove support for searchable option groups
Fire onDidChange for chat input state changes
…7346)

* Sessions - add context key to track uncommitted changes

* Sessions - show "Mark as Done" when there are no outgoing changes

* Pull request feedback

* Tweak context keys to avoid flickering
* Add General Purpose agent support behind experiment

Add a built-in 'General Purpose' agent to the runSubagent tool, gated
behind the 'chat.generalPurposeAgent' experiment treatment:

- Add GeneralPurposeAgentName constant
- Make agentName required and route undefined/GP names to built-in agent
- Render GP agent in automatic instructions agents block
- Clean up duplicate DI injection in RunSubagentTool
- Add unit tests for GP agent paths

* Address PR feedback: fix Event cast, add experiment Emitter, try/catch, deterministic tests

- Replace unsafe 'configEvent as Event<void>' cast with dedicated Emitter
  (fixes tsgo typecheck CI failure)
- Fire onDidUpdateToolData when experiment resolution changes the value
- Add try/catch around getTreatment in computeAutomaticInstructions
- Replace flaky setTimeout(0) in tests with Event.toPromise(onDidUpdateToolData)

* Fix merge regression: restore fullLength in toolReferences range calculation

The merge conflict resolution incorrectly replaced fullLength with
name.length + 1 for toolReference OffsetRange calculation, and removed
fullLength from variableReferences test expectations. Restore the
original behavior from main.

* Apply critical review fixes

- Add error handler to _resolveExperiment() preventing unhandled
  promise rejections when getTreatment fails
- Decouple GP agent from SubagentToolCustomAgents config gate so
  experiment works independently of custom agents setting
- Fix redundant parens on Event listener arrow function
- Add test for GP agent rendering without custom agents config

* Remove unrelated promptsServiceImpl refactor from PR

Reset promptsServiceImpl.ts and promptsService.test.ts back to main.
These files contained an unrelated refactor (method renames, type
simplifications) that was accidentally carried over during the port
from PR microsoft#295494.

* Fix GP agent description: inherit parent tools, not 'all tools'
* Sessions - improve feedback/comments rendering

* Pull request feedback
style: update codicon color in titlebar left toolbar to use icon foreground variable

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
microsoft#307381)

style: adjust padding in AI customization toolbar for improved layout

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
* fix: update macOS icons assets for agents app

* chore: bump distro
* Sessions - improve loading and bug fixes

* Update src/vs/sessions/contrib/changes/browser/changesView.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…crosoft#307393)

Sessions: Update account titlebar widget dimensions for consistency

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
…ut (microsoft#307394)

Fix margin adjustments in chat welcome part for improved layout

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
prompt validation: gray unused tools, severity hint
* Sessions - add sync skill

* Update skill
* fix: agent app cleanup post update on windows

* chore: bump inno_updater
…icrosoft#307414)

* Sessions: Enhance action item layout in title bar for better alignment and spacing

* Sessions: Update CSS selectors for action bar to improve styling and consistency

* Update src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial cleanup

* More fixes

* Hide the welcome screen by default to avoid flickering

* More renames

* One more fix related to the badge
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…mTerminalCommandTool

1. Add userEditedInput field to ISessionToolCallApprovedAction protocol
2. Update reducer to use userEditedInput when present
3. Send userEditedInput in agentHostSessionHandler's _awaitToolConfirmation
4. Return user-edited command in ConfirmTerminalCommandTool.invoke() result
5. Add tests for ConfirmTerminalCommandTool user-edit behavior

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/a1ae137d-c533-4696-b7fe-4e2580ce340b

Co-authored-by: meganrogge <29464607+meganrogge@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.