Skip to content

feat(claude): implement workspace folder service for tracking file changes in chat sessions#312043

Open
TylerLeonhardt wants to merge 3 commits intomainfrom
tyler/dramatic-turkey
Open

feat(claude): implement workspace folder service for tracking file changes in chat sessions#312043
TylerLeonhardt wants to merge 3 commits intomainfrom
tyler/dramatic-turkey

Conversation

@TylerLeonhardt
Copy link
Copy Markdown
Member

For now, we implement a Claude specific workspace folder service... although there is nothing Claude specific about it.

This gets changes to show up in Claude sessions in the Agents App.

Copilot AI review requested due to automatic review settings April 22, 2026 23:59
@TylerLeonhardt TylerLeonhardt enabled auto-merge (squash) April 22, 2026 23:59
@TylerLeonhardt TylerLeonhardt self-assigned this Apr 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 23, 2026

Screenshot Changes

Base: 1bad8312 Current: 8cf10feb

Changed (1)

editor/inlineCompletions/other/JumpToHint/Dark
Before After
before after

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a Claude-scoped workspace folder service to compute/cached changed files for chat sessions, and wires it into Claude session items so the Agents app can display file changes for sessions with a working directory.

Changes:

  • Introduces IClaudeWorkspaceFolderService + ClaudeWorkspaceFolderService to compute changed files for a repo path/branch and cache results.
  • Updates ClaudeChatSessionItemController to populate ChatSessionItem.changes (initial load + on completion refresh).
  • Adds/updates Vitest coverage for the new service and the controller integration.
Show a summary per file
File Description
extensions/copilot/src/extension/chatSessions/vscode-node/test/claudeWorkspaceFolderService.spec.ts New tests for caching, base-branch auto-resolution, error handling, and dispose behavior.
extensions/copilot/src/extension/chatSessions/vscode-node/test/claudeChatSessionContentProvider.spec.ts Extends controller tests to cover populating item.changes and refresh-on-completed behavior.
extensions/copilot/src/extension/chatSessions/vscode-node/claudeWorkspaceFolderServiceImpl.ts Implements workspace diff computation + caching and maps results to vscode.ChatSessionChangedFile.
extensions/copilot/src/extension/chatSessions/vscode-node/claudeChatSessionContentProvider.ts Uses DI to create the controller and populates ChatSessionItem.changes via the new service.
extensions/copilot/src/extension/chatSessions/vscode-node/chatSessions.ts Registers IClaudeWorkspaceFolderService in the Claude service collection.
extensions/copilot/src/extension/chatSessions/common/claudeWorkspaceFolderService.ts Defines the new service identifier and interface contract.

Copilot's findings

  • Files reviewed: 8/8 changed files
  • Comments generated: 4

DonJayamanne
DonJayamanne previously approved these changes Apr 23, 2026
…anges in chat sessions

For now, we implement a Claude specific workspace folder service... although there is nothing Claude specific about it.

This gets changes to show up in Claude sessions in the Agents App.
@TylerLeonhardt TylerLeonhardt force-pushed the tyler/dramatic-turkey branch from d2fc75b to 7cf968c Compare April 23, 2026 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants