[mirror] microsoft/vscode#309687 Provide the session resource for input states#1706
Open
austindyoung wants to merge 7745 commits intomainfrom
Open
[mirror] microsoft/vscode#309687 Provide the session resource for input states#1706austindyoung wants to merge 7745 commits intomainfrom
austindyoung wants to merge 7745 commits intomainfrom
Conversation
… for `send_to_terminal`/`get_terminal_output` (microsoft#308587)
…rosoft#308778) refactor(xtab): extract _performFetch from _streamEditsImpl Separate the HTTP fetch lifecycle (FetchStreamSource setup, makeChatRequest2, initial error handling, line stream construction with cursor-tag removal and latency logging) into a dedicated _performFetch method. This makes the fetch infrastructure self-contained and returns a clean AsyncIterable<string> line stream + getFetchFailure callback for downstream format handlers, matching the pattern already used by XtabCustomDiffPatchResponseHandler. _streamEditsImpl is now a coordinator: it calls _performFetch, then dispatches to format handlers, then post-processes edit-window results. Part of microsoft#308744
…icrosoft#308812) * Agents - hide toolbar in the Changes view for the untitled session * Pull request feedback
Adopts new AHP additions to support this stuff. askQuestions work and state is updated in the session list.
We need proper command detection to make this work flawlessly, but this does the initial hookup replacing the copilot SDK's terminal tools with our tools which are backed by real PTY's.
update model hover so tooltip displays without requiring status icon
…ek-visible-document-check fix: check message location visibility for failureInVisibleDocument peek
…arkdown-default-view-startup fix: resolve default view for markdown files on first startup
Scope the sessions-only sash styling to round the hover indicator and orthogonal drag handles, and document the layout update in LAYOUT.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…icrosoft#308867) * Agents - re-create state listener when repository is closed/opened * Add missing line
remove duplicate discount text
Also updated some telemetry fields so we can do correlations more easily
* Update hidden Model B agent prompt for evals * Refine hidden Model B prompt tag structure * updating prompt to remove codex string
* Redesign chat customizations welcome page
- Extract welcome page into dedicated AICustomizationWelcomePage class
and aiCustomizationWelcome.css for better code organization
- Replace old banner + card grid with:
- 'Analyze Your Project and Configure AI' input box that opens
/agent-customization in chat with user's description
- 2x3 category card grid (Agents, Skills, Instructions, Hooks,
MCP Servers, Plugins) with actionable chip buttons
- Chips prepopulate chat with specific prompts (e.g. 'Create a
code review agent', 'Enforce coding style')
- Remove redundant 'Chat Customizations' heading (already in tab)
- Remove redundant 'browse by type' pills (cards serve same purpose)
- Improve chip contrast with visible borders and link-colored text
- Tighten card padding and description sizing for cleaner layout
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Polish welcome page: bigger input, separator, more copy
- Make input box taller with rounded corners and inner submit button
styled like a chat input (pill-shaped submit that fills on hover)
- Add section divider line between input area and card grid
- Add 'Or configure individual customizations:' label above grid
- Expand description copy to mention codebase analysis
- Bump card label font-weight to 600 and restore 12px desc size
- Restore card padding to 14px for better breathing room
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Rework welcome page: stacked list, better input, centered divider
- Replace 2x3 card grid with full-width stacked category list
where each row shows icon, label, description, and chip buttons
inline on a single line
- Input box uses cornerRadius-large, proper padding matching chat
input style, submit button inside with pill shape
- Separator now shows centered text: 'or configure individually'
with lines extending on both sides
- Reduce max-width to 680px and remove all excess whitespace
- Remove card/grid CSS entirely
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Improve welcome page hierarchy and command styling
- Restore strong page intro with 'Chat Customizations' heading and
descriptive copy from the original welcome page
- Increase overall scale: wider content, larger workflow heading,
larger description text, and roomier input box
- Break each section into title row, description row, and command row
instead of compressing everything into a single line
- Restyle example actions as monospace command-like entries such as
'/create-skill ...' to better communicate they prepopulate chat
- Make category rows roomier with card-like boundaries and better
visual hierarchy
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Simplify welcome page into launcher-style sections
- Replace boxed customization cards with lightweight stacked sections
separated by subtle rules
- Keep the centered 'or configure individually' separator
- Increase overall scale for the intro, workflow heading, copy, and input
- Make command examples look like real slash commands with plain
command-link styling instead of pill buttons
- Separate each section into title, description, and command rows for
clearer hierarchy
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Revert welcome page to original design (keep file separation)
Restore the original welcome page layout from main exactly as it was:
- 'Chat Customizations' heading + subtitle
- 'Configure Your AI' getting-started banner
- Responsive card grid with Browse and Generate with AI buttons
The only structural change kept is the file separation:
welcome page logic lives in aiCustomizationWelcomePage.ts and
welcome CSS lives in media/aiCustomizationWelcome.css.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add centered 'or configure individually' divider between banner and cards
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Replace Configure Your AI banner with chat-style input box
Swap the old getting-started banner for a clean input box styled
like the chat input part: cornerRadius-large, input-background,
submit arrow inside. No highlight borders or extra UI chrome.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix input box focus outlines to match chat input part
Remove the double-outline: the inner monaco-inputbox and the native
input element both had their own focus borders showing through. Force
border/outline to none on both inner elements and let only the outer
container show the single focus border. Use transparent as default
border (matching chat input) and add overflow: hidden to clip inner
outlines at the rounded corners.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix inner input box border by passing transparent inputBoxStyles
The InputBox sets an inline style border via applyStyles() which
cannot be overridden by CSS. Pass inputBorder: transparent and
inputBackground: transparent so the inner box is invisible and
only the outer container provides the border.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Refactor agent customizations welcome page
Split the Agent Customizations welcome page into classic and prompt-launcher variants, add a configuration switch for selecting the implementation, and add component fixtures for the welcome page variants.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Polish customization welcome page variants
Refine the classic and prompt-launcher welcome pages so the workflow entry point is more prominent and the category actions are simpler and better aligned.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Swap welcome variants and fix sessions chat prefill
Move the polished workflow-box layout into promptLaunchers (now the default) and restore classic to the origin/main baseline. Add prefillChat callback so the Generate Workflow input works in both the sessions app (via NewChatViewPane.sendQuery) and core VS Code (via workbench.action.chat.open). Enable the getting-started banner in sessions. Fix double-box input styling and card footer alignment.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix input focus outline and polish welcome page layout
Replace InputBox widget with plain <input> element to eliminate the focus border that the global .monaco-workbench input[type=text]:focus rule was applying. Move helper text above the input, match input-row rounding to the outer card, and add strong specificity overrides for all focus states.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Bump version to 1.117.0 * npm i * wait to do engine version bump * Revert "wait to do engine version bump" This reverts commit 9db1c0f. * Add Copilot extension tests to Linux/Windows Electron integration test runs * Remove failing step that we moved to the main build --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…t-model-picker-overflow inlineChat: fix model picker overflow when selecting Auto
The Electron main process intermittently crashes during startup on the `[pango] FcInit` thread with a NULL pointer dereference in expat's XML string processing, triggered by fontconfig parsing `<include>` directives in fonts.conf via `XML_ExternalEntityParserCreate`. Set FONTCONFIG_FILE to a minimal config based on upstream fontconfig 2.15.0 fonts.conf.in with `<include>` directives removed and generic family aliases inlined. This avoids the external entity parser codepath entirely. A version check will fail the build once the runner ships expat >= 2.7.5, prompting removal of the workaround.
* Git - expose whether a repository is using GVFS * Make improvements for GVFS * Update extensions/copilot/src/extension/chatSessions/vscode-node/chatSessionWorktreeServiceImpl.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update extensions/copilot/src/extension/chatSessions/vscode-node/chatSessionWorkspaceFolderServiceImpl.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix test compilation --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…request before reusing it (microsoft#309456)
…tion (microsoft#309474) xtab: replace getFetchFailure polling with stream-level error propagation (microsoft#308745) Add FetchStreamError class and reject() method to FetchStreamSource so fetch failures propagate through the async iterable stream. Consumers now catch errors naturally via for-await instead of polling a mutable closure at ~7 call sites. - Added FetchStreamError (carries NoNextEditReason) in xtab/common, keeping platform/chat free of inlineEdits dependencies - Added FetchStreamSource.reject() delegating to AsyncIterableSource - Updated _performFetch to call reject()/resolve() instead of setting chatResponseFailure - Removed getFetchFailure parameter from all response format handlers - Added FetchStreamError catch in _streamEditsImpl and xtabCustomDiffPatchResponseHandler Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix microsoft#305291 * feedback
…-first-session-263434-fix Do not open debug view on first session start when openDebug is openOnDebugBreak
…osoft#309292) ObjectMutationLog.write() eagerly committed internal state (_previous, _entryCount) before the caller persisted data to disk. If the initial file write failed, the log instance believed it had already written the Initial entry, so subsequent writes produced only incremental Set/Push entries. This created .jsonl files missing the required Initial entry, crashing on reload with 'Cannot read properties of undefined'. Introduce a two-phase write/confirm pattern: - write() stores updates in pending fields behind a _hasPendingWrite flag - confirmWrite() commits pending state after successful disk persistence - createInitialFromSerialized() and read() clear pending state on reset - read() now throws a clear error if mutations appear before Initial entry
) * NES: enable trigger on active editor change by default - Set triggerOnEditorChangeAfterSeconds default to 10 (was undefined) - Set triggerOnEditorChangeStrategy default to AfterAcceptance (was Always) - Replace unconditional same-line cooldown bypass with smart reset: cooldown is enforced within a file session but clears when switching away and returning, so NES re-triggers on the same line after a round-trip to another file - Update tests to match new defaults and behavior * fix indentation
…ts-context-menu-actions testing: align right-click menu with hover bar on compressed result rows
…session-config Add Agent Host session configuration flow
…ssion (microsoft#309479) * Agents - Changes view pickers should work with multiple chats in a session * Pull request feedback
* Add auto-approve session config for agent host Add an autoApprove session config property to the Copilot agent host with three options: Default Approvals, Bypass Approvals, and Autopilot (Preview). - Add autoApprove property to resolveSessionConfig() in copilotAgent.ts with sessionMutable: true so it can be changed during running sessions - Auto-approve all tool calls in agentSideEffects when bypass/autopilot is active, overriding per-file and per-command approval rules - Add client-side filtering (autopilot gated by chat.autopilot.enabled, enterprise policy disables bypass/autopilot options) - Show confirmation dialogs matching the extension host permission picker - Render the picker in MenuId.ChatInputSecondary for running sessions (same location as the normal agent permission picker) - Wire SessionConfigChanged dispatch for mid-session config changes in both local and remote agent host session providers - Add running session config cache with proper lifecycle cleanup - Handle restored sessions by creating minimal config entries - Add 4 unit tests for session-level auto-approve behavior (Written by Copilot) * Move auto-approve picker to NewSessionControl (left side) Render the autoApprove picker in the same location as the normal EH permission picker (Menus.NewSessionControl, left side) instead of alongside target/branch on the right side. - Skip autoApprove property in main session config picker - Add AgentHostNewSessionApprovePicker registered on NewSessionControl - Existing running session picker on ChatInputSecondary unchanged (Written by Copilot) * Use named type for mutableProperties annotation Address Copilot review: use IResolveSessionConfigResult indexed type instead of typeof expression for clearer type annotation. (Written by Copilot)
Co-authored-by: vs-code-engineering[bot] <vs-code-engineering[bot]@users.noreply.github.com>
Onboarding polish
* agentHost: Restore selected model across sessions (Written by Copilot) * agentHost: Address model restore review feedback (Written by Copilot)
…pilot (microsoft#309113) build(deps-dev): bump basic-ftp in /extensions/copilot Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.1 to 5.2.2. - [Release notes](https://github.com/patrickjuchli/basic-ftp/releases) - [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md) - [Commits](patrickjuchli/basic-ftp@v5.2.1...v5.2.2) --- updated-dependencies: - dependency-name: basic-ftp dependency-version: 5.2.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Use ${sequence} title for agent CLI shell types
* debug?
* use osc title sequence.
* add support for gemini
* cleaner
* test
* gate agent CLI title behind setting
* revert unrelated toLowerCase change in _sendProcessTitle
* Make things work again for mac os
* fix tests
…t/migrate-5043 Change OTLP endpoint from gRPC to HTTP in montoring docs
… terminal notifications (microsoft#309555) Fix microsoft#309523
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated mirror PR for DriftFence counterfactual telemetry.
Source PR: microsoft#309687
Source URL: microsoft#309687
Mirror branch: driftfence/mirror/pr-309687/latest
This PR is maintained by automation for telemetry and review links.