sessions: refactor welcome flow into SessionsWelcomeService#315069
Merged
Conversation
Replace the walkthrough-based welcome with a lean dialog-based flow: - Add SessionsWelcomeService and SessionsWelcomeWidget with sign-in detection, loading overlay, sign-in dialog, welcome dialog, and a "Signing in..." dialog shown while OAuth completes - Service reads setup-done state from the default profile storage via IUserDataProfileStorageService so the agents window correctly reflects completion when running in a different profile - Welcome/sign-in dialogs have no close button; welcome dialog completes setup on any dismissal (Escape or Get Started) - onSignInStarted callback in chatSetupRunner keeps the Signing in... dialog visible while auth is in flight - Fix codicon font-size (112px) being overridden by .monaco-workbench rule by scoping with .agent-sessions-workbench - Scope icon margin-bottom to .sessions-welcome-dialog; consolidate styles into sessions/browser/media/sessionsWelcome.css - Delete sessionsWalkthrough, welcome.contribution, sessionsChatSetupState and all associated media assets Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
lszomoru
previously approved these changes
May 7, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Refactors the Agents window “welcome/setup” experience from a sessions walkthrough overlay into a dialog-based flow owned by a new SessionsWelcomeService, and wires it into chat setup so the UI can be gated until sign-in/setup completes (including cross-profile “setup done” detection via default profile storage).
Changes:
- Add
SessionsWelcomeService/SessionsWelcomeWidgetto drive loading overlay, sign-in dialog, welcome dialog, and “Signing in…” dialog while OAuth is in flight. - Extend chat setup to support
disableCloseButtonand anonSignInStartedcallback so sessions can keep progress UI visible during authentication. - Remove the old walkthrough-based sessions welcome contribution and associated media assets.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.ts | Adds disableCloseButton + onSignInStarted options and applies disableCloseButton to the chat setup dialog. |
| src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts | Extends trigger setup command options to pass through the new dialog/sign-in hooks. |
| src/vs/sessions/sessions.common.main.ts | Registers ISessionsWelcomeService and removes the old welcome contribution import. |
| src/vs/sessions/contrib/chat/electron-browser/chat.contribution.ts | Defers folder selection IPC handling until the welcome flow completes. |
| src/vs/sessions/common/sessionsChatSetupState.ts | Deletes the old sessions chat setup state service (replaced by welcome service logic). |
| src/vs/sessions/browser/workbench.ts | Instantiates the welcome service early to gate UI during initial setup/sign-in. |
| src/vs/sessions/browser/sessionsWelcomeService.ts | New service/widget implementing the dialog-based welcome + cross-profile setup completion detection. |
| src/vs/sessions/browser/media/sessionsWelcome.css | New scoped styles for the loading overlay and dialog icon spacing. |
| src/vs/sessions/contrib/welcome/browser/welcome.contribution.ts | Removes old walkthrough-based workbench contribution and reset action. |
| src/vs/sessions/contrib/welcome/browser/sessionsWalkthrough.ts | Removes walkthrough overlay implementation (sign-in + welcome UI). |
| src/vs/sessions/contrib/welcome/browser/media/sessionsWalkthrough.css | Removes walkthrough overlay styles. |
| src/vs/sessions/contrib/welcome/browser/media/themePreviews/theme-preview-light-2026.svg | Removes walkthrough theme preview asset. |
| src/vs/sessions/contrib/welcome/browser/media/themePreviews/theme-preview-hc-light.svg | Removes walkthrough theme preview asset. |
| src/vs/sessions/contrib/welcome/browser/media/themePreviews/theme-preview-hc-dark.svg | Removes walkthrough theme preview asset. |
| src/vs/sessions/contrib/welcome/browser/media/themePreviews/theme-preview-dark-2026.svg | Removes walkthrough theme preview asset. |
| src/vs/sessions/contrib/welcome/browser/media/themePreviews/agents-window-light-2026.svg | Removes walkthrough theme preview asset. |
| src/vs/sessions/contrib/welcome/browser/media/themePreviews/agents-window-dark-2026.svg | Removes walkthrough theme preview asset. |
| src/vs/sessions/contrib/welcome/browser/media/google.svg | Removes walkthrough provider icon asset. |
| src/vs/sessions/contrib/welcome/browser/media/github-mark.svg | Removes walkthrough provider icon asset. |
| src/vs/sessions/contrib/welcome/browser/media/apple-light.svg | Removes walkthrough provider icon asset. |
| src/vs/sessions/contrib/welcome/browser/media/apple-dark.svg | Removes walkthrough provider icon asset. |
Copilot's findings
- Files reviewed: 11/21 changed files
- Comments generated: 1
…alog - Rename SessionsWelcomeService to SessionsSetUpService and files to sessionsSetUpService.ts / sessionsSetUp.css - Add IConfigurationService injection to SessionsSetUpWidget - After welcome/sign-in dialogs complete, call _ensureAIFeaturesEnabled() which silently sets chat.disableAIFeatures = false if it was on - At runtime, watch for chat.disableAIFeatures becoming true and show a dedicated Enable AI Features dialog (no close, no escape) that writes the setting to false directly via configuration service - Scope icon margin-bottom to sessions-main-welcome-dialog only - Force chat.disableAIFeatures to workspace target in sessions config service - Add warning comment in configuration.contribution.ts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
lszomoru
approved these changes
May 7, 2026
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.
Replace the walkthrough-based welcome with a lean dialog-based flow:
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com