Conversation
…312627) - Show a personalized welcome greeting with 'Get Started' button for first-launch users who are already signed in - Show enhanced sign-in screen with welcome content for first-launch users who are not yet signed in - Show plain sign-in screen for returning users who are not signed in - Add 'Happy Agentic Coding!' tagline to all welcome screens - Update 'Sign in with GitHub' button label - Add `isFirstLaunch` parameter to `SessionsWalkthroughOverlay` - Guard autorun auto-dismiss with `isShowingWelcome` to prevent race condition where overlay is dismissed before welcome renders - Fix developer reset command to simulate first-launch experience Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes #312600 Targeted fix. Seems a bit suspicious the editor layout logic upstream doesn't do this for us
Co-authored-by: Copilot <copilot@github.com>
* plan widget fixes * Update extensions/copilot/src/extension/chatSessions/copilotcli/node/exitPlanModeHandler.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update plan review action label tests to match new labels --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
sessions: ensure account/update widgets render with icons after IntersectionObserver fires actionViewItemService.register() does not fire onDidChange when a factory is it only fires when the optional `event` argument fires.registered This caused a race: if the toolbar's IntersectionObserver fired its first visible callback (and called _updateToolbar()) before AccountWidgetContribution registered its view item factories, the toolbar rendered text-label fallbacks and was never notified to re-render with the custom widgets. Fix by passing a shared Emitter to both register() calls and firing it once after both factories are in place. This triggers IActionViewItemService.onDidChange for Menus.TitleBarRightLayout regardless of ordering, so the toolbar always re-renders with TitleBarAccountWidget / TitleBarUpdateWidget. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Agents: enhance SSH and remote agent host management - Rewrite the 'Connect via SSH' picker to mirror the remote-ssh extension UX: configured aliases at the top, dynamic 'user@host' synthetic entry, plus '+ Add New SSH Host...' and 'Configure SSH Hosts...' footer items. - Add 'Add New SSH Host...' command that ensures ~/.ssh/config exists (mode 0700/0600 on POSIX) and inserts a Host snippet with tabstops via SnippetController2. - Add 'Configure SSH Hosts...' command that lists known SSH configuration files (user + system) and opens the picked one. - Add 'Manage Remote Agent Hosts...' F1 command that shows the same actions as the workspace picker's Manage submenu, with inline X buttons to remove non-tunnel remotes. - Show inline X (remove) buttons next to non-tunnel remote entries in the workspace picker Manage submenu, by propagating onRemove from child IActions through actionList. - Extract the per-remote management options popup into a shared showRemoteHostOptions(accessor, provider) helper and consume it from both the workspace picker and the new manage command. - Centralize all action/command IDs on a RemoteAgentHostCommandIds const block. - Add listSSHConfigFiles() to ISSHRemoteAgentHostService (user config always; system config when present) and update all impls + test mocks. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Agents: add back button navigation to remote host management pickers - remoteHostOptions: add showBackButton option to showRemoteHostOptions(); now returns 'back' when the back button is pressed; picker is created with createQuickPick for full button support - remoteAgentHostActions: add showBackButton option to promptToConnectViaSSH(); the ConnectViaSSH action's run() accepts an optional onBack callback and calls it when the back button is pressed - manageRemoteAgentHosts: extract showManagePicker() inner function so it can be called recursively on back; pass showManagePicker as onBack callback to both the per-remote options picker and SSH sub-flow actions Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add back buttons to all SSH/tunnel sub-pickers - Configure SSH Hosts file picker now shows back button when launched from SSH picker, returning to SSH picker on click - Tunnel picker now shows back button when launched from manage picker, returning to manage picker on click - Both pickers fix leaked disposables by wrapping in DisposableStore - Remove leftover setTimeout from manage picker onDidAccept - Add comment explaining legitimate setTimeout in workspace picker Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address Copilot review: rename header + rethrow SSH config errors - Rename 'Connected' separator to 'Remote Agent Hosts' since items are not filtered by connection status - Rethrow errors from ensureUserSSHConfig so callers can surface real failures to the user instead of silently opening a bad path Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Workaround zero size layouts of webview elements
* agent-host: report git-driven session file diffs (Written by Copilot) Adds an alternative diff source for agent sessions that derives changes from the working-tree git state instead of from edit-tool emissions, so edits made via terminal/shell commands also show up in the Changes view. Approach -------- * IAgentHostGitService gains computeSessionFileDiffs() and showBlob(). * gitDiffContent.ts encodes 'git-blob:' content URIs that pin a blob to a session + sha + repo-relative path. * AgentService routes 'git-blob:' resourceRead requests to gitService.showBlob(); AgentHostFileSystemProvider.stat() short- circuits 'git-blob:' alongside 'session-db:' so the diff editor's stat-then-read flow works end-to-end. * AgentSideEffects._tryComputeGitDiffs runs after each turn (debounced with the existing diff scheduler) and overrides edit-tool diffs when git is available. Tests ----- Unit + integration coverage in src/vs/platform/agentHost/test/node/. * agent-host: regression tests for git-blob: stat fast-path Adds five tests against AgentHostFileSystemProvider covering the synthetic content scheme fast-path in stat(): git-blob: and session-db: URIs must return a File stat directly without trying to list a parent directory that doesn't exist. Verified by reverting the git-blob: branch of the theallowlist new 'git-blob: stat' and 'full stat-then-read round-trip' tests fail with EntryNotFound, which is exactly the error the diff editor surfaced when opening a diff of a new file. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agent-host: address Copilot review feedback - agentHostGitService: bump default execFile maxBuffer to 32MB so diff output in large repos doesn't fail with ENOBUFS and silently drop terminal-driven diffs. - agentHostGitService.showBlob: validate sha is a hex object name before passing it to git, so a malformed git-blob: URI can't inject options or resolve to surprising refs. - mockAgent terminal-edit branch: void+catch the async IIFE so a filesystem failure surfaces as a chat delta instead of an unhandled rejection (test flake source). - agentSideEffects.test: replace setTimeout(100) with awaiting the SessionDiffsChanged envelope event for both new diff-computation deterministic and immune to slow CI.tests - sessionDiffsRealSdk integrationTest: shell-quote the target file path so temp dirs containing spaces don't break the prompt. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agent-host: use IFileService and INativeEnvironmentService in AgentHostGitService Replace direct fs/promises and os.tmpdir usage with platform services so the temp-index dance in computeSessionFileDiffs goes through the same file system abstraction as the rest of the workbench. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agent-host: set COMMAND_HOOK_LOCK=1 in temp-index env for GVFS repos Mirrors the extension's buildTempIndexEnv which sets this flag to avoid holding the GVFS command hook lock during temp-index git operations. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agent-host: inject IAgentHostGitService via DI into AgentSideEffects Instead of threading gitService through IAgentSideEffectsOptions, register it in the local ServiceCollection and inject it via @IAgentHostGitService decorator, which is the normal pattern everywhere else. (Written by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix deleted file diffs: use IChatSessionFileChange2 with undefined modifiedUri for deletions For deleted files, the 'modified' side of the diff editor must be absent. The renderer detects deletions via `change.modifiedUri === undefined`, so producing `IChatSessionFileChange2` (which carries a `uri` key alongside optional `modifiedUri`) is the right shape. Previously diffsToChanges returned IChatSessionFileChange (required modifiedUri) and fell back to the deleted file's pre-deletion path as modifiedUri, causing the diff editor to try to read a nonexistent file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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 : )