[pull] main from microsoft:main#1364
Merged
Merged
Conversation
Co-authored-by: Copilot <copilot@github.com>
When clicking X on a sub-session tab, deleteChat checks chatIds.length before finding the specific chat by URI. If the grouping cache doesn't include the forked chat (e.g. due to stale sessionParentId metadata), _getChatIdsInGroup returns only the main chat. The chatIds.length <= 1 check then falls through to deleteSession, which shows 'delete this session?' and deletes the entire session including the worktree. Fix: find the specific chat by URI first. Only fall through to deleteSession if the chat IS found in the group AND it's the last one. Fixes #313148 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* nes: feat: ghost-text-like behavior * adddresss review
… update styles for improved layout and readability Co-authored-by: Copilot <copilot@github.com>
…unctionality; streamline action handling and enhance personalization options Co-authored-by: Copilot <copilot@github.com>
…ling and layout Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
This reverts commit 83cbe74.
The previous reverts only changed the spec to ^1.0.34, but the resolved entries in the lockfiles still pointed at 1.0.38 (with 1.0.38 tarballs and integrity hashes). Since ^1.0.34 satisfies 1.0.38, npm ci would still install the broken version. Pin to exact 1.0.34 in all three package.json files and regenerate the lockfiles.
When a child chat in a multi-chat group was removed, _refreshSessionCache would first remove it from _sessionCache and invalidate grouping caches. Then _refreshSessionCacheMultiChat would try to resolve the removed chat's group ID, but since the caches were already rebuilt without the removed chat, _getGroupIdForChat fell back to the chat's own ID instead of the parent group's ID. This caused the child to be treated as a 'truly removed' standalone session rather than a group membership change, so no 'changed' event was fired for the parent group. Fix: resolve group IDs for removed sessions BEFORE removing them from the cache and invalidating grouping caches. Fixes #311987 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
terminal: add shell integration trace logging
feat: add inline chat progress messages and prompts for user feedback
* sessions: add home button to customizations header to open welcome page Add a home icon button to the 'Customizations' collapsible header in the Agents sidebar. The button: - Appears on hover of the header row (opacity transition) - Opens the AI Customizations management editor and navigates to the welcome/overview page via showWelcomePage() - Supports keyboard (Enter/Space), click, and touch tap (iOS) - Shows a tooltip via IHoverService: 'Open Customizations Overview' - Does not interfere with the existing collapse/expand toggle Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: move customizations home button to leading position Move the home button to the start of the header (before the toggle pill) and make it always visible. This makes the entrypoint more discoverable for new users since it's no longer hidden behind a hover state. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: align home icon with section icons below Use matching padding (4px 8px) so the home icon's horizontal position matches the agent/skill/instruction icons listed below the header. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: refine home icon alignment to match section rows Remove font-size and explicit height overrides; instead mirror the sidebar-action-button layout exactly (padding 4px 8px + gap 10px) so the home icon naturally sizes and aligns with the section icons. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: align home icon and tighten color hierarchy in customizations header - Drop the header button's left padding and set the home button's right padding to 10px so 'Customizations' sits exactly 10px after the home icon, matching the icon->label gap of the section rows below. - Remove the home icon's opacity dim; use the strong agentsPanel foreground so the home icon and 'Customizations' label render at the same color weight. - Apply --vscode-descriptionForeground to the section rows below the header so they read as secondary content under the prominent header. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: bump home icon size to match bold header weight Codicons are a single-weight font, so font-weight has no effect on icons. Increase the home icon's font-size to 18px so its visual stroke weight matches the bold 'Customizations' label. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: revert home icon size bump Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: replace home button with 'Manage customizations' footer link Move the entrypoint to the customizations welcome page from a header icon to a footer link below the section list. The footer: - Sits inside the collapsible content (collapses with the section) - Uses subtle descriptionForeground styling with a top border separator - Includes a right-arrow that nudges on hover for affordance - Supports click, touch tap (iOS), and keyboard (Enter/Space) - Restores the original header layout (no padding/color hacks) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: add customizations overview header action Replace the footer-style Customizations entrypoint with a dedicated header home action so the overview remains accessible in both expanded and collapsed states. Add focused browser coverage for opening the welcome page without toggling collapse. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: align customizations overview action with counts Nudge the Customizations header overview action left so it visually aligns with the per-section count column. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * sessions: simplify customizations overview editor check Use the concrete AI Customizations management editor type instead of a structural showWelcomePage guard when opening the overview from the sidebar header action. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…d qualification (#313217) * add pluginUri and extensionId to ICustomizationItem: fix slash command qualification * Update src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * update * update * update --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* handle steering the way the SDK wants it (via priority) * pass along properties via the queued request (rather than setting them when we get the message) so that we can set them when the message is to be yielded to the SDK * Tons of code simplification There's still more simplification to do... but this is getting unwieldy so let's start here. Co-authored-by: Copilot <copilot@github.com>
…ing (#313127) * telemetry: add workspaceChunkSearch.tryInit event for cold-init tracking Adds telemetry to track duration and outcome of workspace chunk search cold initialization (getPreferredType + service creation). Records success, noEmbeddingType, alreadyInitialized, or error outcomes. Not fired for fast paths (no auth, already initialized). Related: #313070 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: type outcome as string literal union per review Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…r improved layout integration Co-authored-by: Copilot <copilot@github.com>
…#313254) Strip trailing newline on terminal paste in auto mode Prevents clipboard-hijack scenarios from auto-executing pasted commands when the shell does not support bracketed paste mode. Right-click / Ctrl+V paste of a command followed by a newline previously executed immediately; now the trailing newline is stripped so the user must press Enter to run the command.
…313249) The rich execute strategy subscribed to onExit/onDisposed AFTER awaiting xtermReadyPromise. If the pty had already exited before execute() was entered, those emitters had already fired and been disposed, so Event.toPromise() subscribed to a dead emitter and never resolved - hanging the run-in-terminal tool until the agent's 60-minute outer timeout (16 X_AGENT_STILL_RESPONDING failures observed in eval run 25073061392). - Add synchronous up-front check for instance.isDisposed / exitCode in both rich and basic strategies; resolve immediately with the captured exit code rather than subscribing to a fired-and-disposed emitter. - In the rich strategy, move the Promise.race lifecycle subscription setup BEFORE 'await this._instance.xtermReadyPromise' so onExit / onDisposed are wired synchronously at function entry, closing the race window where the pty exits during xterm initialization. - Add unit tests for both branches in rich and basic strategies. Fixes #313248
We had a separate representation of agent events in the agent host that were usually mostly just the same as the protocol events/state. And we had steps to map to and from in various places which added to code and implementation complexity. Remove it.
Use root eslint for copilot
* add ChatSessionCustomizationType.userInvocable * Update src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/vs/workbench/contrib/chat/common/customizationHarnessService.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Support prompting the user to share an existing browser tab * feedback Co-authored-by: Copilot <copilot@github.com> --------- Co-authored-by: Copilot <copilot@github.com>
* Add GitHub PR review threads model * Cache GitHub PR review thread models * Use PR review threads model in code review * Keep GitHub PR model refresh lightweight * Complete PR review threads validation checklist * Saving my work * Limit PR review polling to active session * Refactor CodeReviewService to only poll the model for the active session * Add GitHub PR polling lifecycle * Refactor the logic that polls * Use pull request head SHA for CI checks * More fixes in * Fix bug + tests * More test cleanup
We already handled the case where an ingest had completed. This makes it so that any ongoing ingests also should reuse the existing operation Co-authored-by: Copilot <copilot@github.com>
…enu-polish Agents: Refactor account menu and chat status dashboard for improved UI
Fixes #311713 --------- Co-authored-by: Copilot <copilot@github.com>
We should make this explicit Co-authored-by: Copilot <copilot@github.com>
Reuse existing ingest operation if files haven't changed
) * Re-parse agent host history prompts to revive slash decorations When restoring an agent host session (local `agent-host-*` or remote `remote-*`), historical prompts were wrapped in a single ChatRequestTextPart, losing decorations for slash commands, prompt slash commands (e.g. /skill), and agent mentions. Re-run the prompt through ChatRequestParser for agent host sessions so decorated parts are revived in the UI. Falls back to a plain text part on parse failure or empty parse result. Also moves `isAgentHostTarget` from the browser layer into common (where ChatService lives), with a re-export from the browser file for existing callers. Adds two snapshot tests for /skill parsing covering both the forcedAgent + supportsPromptAttachments path and the no-agent fallback. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Hoist empty references/tool map to avoid per-history-item allocations Address Copilot review feedback on #313158. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Source attachmentCapabilities from chat session contribution Agent-host providers register capabilities via registerChatSessionContribution, but that programmatic path does not create an IChatAgentData with those capabilities. Look them up via IChatSessionsService.getCapabilitiesForSessionType instead so /skill etc. are revived in restored history. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> (Written by Copilot) --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…313128) * ci: switch PR workflows back to 1ES self-hosted runners with JobId Re-applies #311975 (reverted in #312033). Adds per-run+attempt JobId labels to scope 1ES agents to specific GitHub Actions runs and prevent intermittent runner cancellations. Also switches the pr.yml compile job's GITHUB_TOKEN from the ephemeral repo-scoped runner token to secrets.VSCODE_OSS so cross-repo GitHub API release fetches (vscode-js-debug, vscode-js-debug-companion, vscode-js-profile-visualizer, etc.) authenticate properly. On 1ES pools the shared egress IPs hit the anonymous 60/hr api.github.com rate limit and produced 403 fan-out across PRs last time. * ci: fall back to GITHUB_TOKEN for fork PRs Match the historical pattern from before #255987 — fork PRs can't access secrets.VSCODE_OSS, so use the conditional to pick GITHUB_TOKEN for forks.
agentHost: drop the agent event abstraction
Make sure we get files in stable order for external ingest checkpoint
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )