[cherry-pick] agentHost: Refine workspace transition boundaries - #334947
Merged
Conversation
Sandeep Somavarapu (sandy081)
approved these changes
Sep 7, 2026
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The critical first-turn continuation persistence issue must be resolved before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Refines workspace conversion boundaries and restores persisted transitions during chat hydration.
Changes:
- Suppresses first-turn transition separators.
- Preloads transitions alongside provider history.
- Passes storage-specific transitions into hydration.
File summaries
| File | Description |
|---|---|
src/vs/platform/agentHost/test/node/sessionWorkspaceConversion.test.ts |
Updates conversion and hydration tests. |
src/vs/platform/agentHost/test/node/agentService.test.ts |
Tests concurrent and peer-chat restoration. |
src/vs/platform/agentHost/node/chatContributions/sessionWorkspaceConversion/sessionWorkspaceConversionService.ts |
Controls transition persistence and visibility. Critical: first-turn conversions lack a durable continuation marker, exposing host-authored requests after restart. |
src/vs/platform/agentHost/node/chatContributions/sessionWorkspaceConversion/sessionWorkspaceConversionContribution.ts |
Hydrates preloaded transitions. |
src/vs/platform/agentHost/node/agentService.ts |
Loads transitions alongside provider history. |
src/vs/platform/agentHost/common/agentHostChatContributionsService.ts |
Adds transitions to the hydration context. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| : undefined; | ||
| let persistenceError: unknown; | ||
| const persistTransition = this._stateManager.getActiveTurnId(chat.toString()) === continuation.turnId; | ||
| const persistTransition = !!transition && this._stateManager.getActiveTurnId(chat.toString()) === continuation.turnId; |
Sandeep Somavarapu (sandy081)
approved these changes
Sep 7, 2026
Ladislau Szomoru (lszomoru)
approved these changes
Sep 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.
Cherry-pick of #334919 from
main.Summary
Validation
npm run transpile-clientnpm run typecheck-client./scripts/test.sh --run src/vs/platform/agentHost/test/node/sessionWorkspaceConversion.test.ts(26 passing)./scripts/test.sh --run src/vs/platform/agentHost/test/node/agentService.test.ts --grep "loads workspace transitions alongside provider history"(1 passing)git diff --check origin/main...HEAD