Iterates the fix for https://github.com/microsoft/vscode/issues/288508
No assurance post-approval checks happen in a microtask. Tools results that will be auto-approved should never transition through the approval-needed state
Adds improved diff editing workflow and accessibility features to chat
compare blocks:
- Add toggle inline/side-by-side diff view mode action with icon
- Add open in diff editor action for full editor view
- Fix isCodeCompareBlockActionContext to properly check diffEditor property
- Add readOnly context key checks to prevent editing read-only diffs
- Adjust menu order for accept/discard actions (10, 11) and diff toggle (1)
- Add toggleDiffViewMode callback to action context
- Improve screen reader accessibility for compare block toolbar
- Add width tracking to layout method for proper initialization
- Refactor CSS for compare block header with nested selectors for better
label truncation and styling
Fixes https://github.com/microsoft/vscode/issues/287816
(Commit message generated by Copilot)
Moves session timing normalization into ChatSessionStore during load rather
than in ChatServiceImpl at query time. This consolidates the backward
compatibility logic and makes timing/lastResponseState non-optional in the
metadata types.
- Move timing backfill logic from ChatServiceImpl to ChatSessionStore
- Make timing and lastResponseState required in IChatSessionEntryMetadata
- Remove inline TODO debt from ChatServiceImpl query methods
- Normalize data once at load time instead of repeatedly at query time
Refs https://github.com/microsoft/vscode/issues/291553
(Commit message generated by Copilot)
Works well on macOS and should work on Windows:
> * Windows compatibility: On Windows, symlinks require Developer Mode enabled or admin privileges. Without these, git clone will create a regular file containing the symlink path as text. This is generally acceptable since most Claude/Copilot development likely happens on macOS/Linux, but worth noting.
Adds support for multiple MIME types to map to the same file extension by
allowing mapExtToMediaMimes values to be string or string[]. This enables
image/jpeg and image/jpg to both map to .jpg extension, fixing MCP image
responses that provide RFC-compliant image/jpeg MIME type.
- Changed MapExtToMediaMimes interface to support string | string[] values
- Updated getMediaMime() to return first MIME type from array if present
- Updated getExtensionForMimeType() to check both singular and array values
- Added .jpe, .jpeg, and .jpg to support both image/jpg and image/jpeg
- Added tests for getExtensionForMimeType with multiple MIME types
Fixes https://github.com/microsoft/vscode/issues/291962
(Commit message generated by Copilot)
I don't think this is actually a new bug, maybe newly discovered. This
fix is not an ideal fix -- I would prefer to keep the tool in the original
ToolSet and layer filtering so that you could configure tools in prompts/
agents that aren't necessarily enabled in the current context -- but this
is a minimal change that fixes the issue without regressing.
Closes#291154