Merged
Conversation
added 10 commits
March 30, 2026 01:55
Add IWorkstreamCommentService for CRUD + JSON persistence of review
comments per workstream, and register a WorkstreamCommentController
with VS Code's built-in comment system so the "+" hover glyph appears
on every line in the editor. Clicking it opens the native comment
zone widget. Comment data is stored in .workstreams/comments/{name}.json
in a format compatible with the CLI.
Replace VS Code's built-in ReviewZoneWidget with a custom
WorkstreamCommentZoneWidget that has a simple textarea and
Comment/Cancel/Delete buttons. Clicking Comment saves to
.workstreams/comments/{name}.json via IWorkstreamCommentService.
- Zone widget has display mode (shows saved text + Edit/Delete) and edit mode (textarea + Comment/Cancel/Delete). Stays visible after submit. - Comments store which side (old/new) they were added on and only display on the matching editor side in split view. - Unified view shows notification prompting to switch to split view. - Clicking "+" on left side in split view saves with side='old'. - Default diff view forced to split (useInlineViewWhenSpaceIsLimited=false). - Fix TrustedHTML violation (innerHTML→clearNode). - Fix disposable leak on onDidClose listeners. - Re-register controller on refresh to force CommentsController re-query. - Debug logs prefixed [WSComments] for troubleshooting.
…le restore - Force split diff mode and remove Inline View menu toggle - Comments only appear in diff editors, not regular file editors - Support git:// URIs (left/original side of diff) for commenting - Show saved comments reliably via getDocumentComments trigger - Dispose zone widgets on file switch and worktree switch - Remove all inline/unified diff mode code paths
- Defer editor working set restore until after ext host settles (1.5s) - Show progress indicator during worktree switch instead of error page - Close zone widget after add/update, let _showSavedComments recreate from saved data to prevent duplicates from onDidChangeComments
- Add "Send Review Comments to Claude" command (Cmd+Shift+P) - Multi-select picker to choose which comments to send - Opens new terminal, starts Claude session, sends formatted prompt - Deletes sent comments and focuses terminal - Dynamic zone widget height based on comment text length - All user-visible strings use nls.localize() - Magic numbers replaced with named constants - console.log replaced with ILogService - Removed unused IDialogService/INotificationService from controller
amandal0903
added a commit
that referenced
this pull request
Apr 3, 2026
* feat: inline review comments on diff view (GitHub PR style)
Add IWorkstreamCommentService for CRUD + JSON persistence of review
comments per workstream, and register a WorkstreamCommentController
with VS Code's built-in comment system so the "+" hover glyph appears
on every line in the editor. Clicking it opens the native comment
zone widget. Comment data is stored in .workstreams/comments/{name}.json
in a format compatible with the CLI.
* feat: custom comment zone widget with save to JSON
Replace VS Code's built-in ReviewZoneWidget with a custom
WorkstreamCommentZoneWidget that has a simple textarea and
Comment/Cancel/Delete buttons. Clicking Comment saves to
.workstreams/comments/{name}.json via IWorkstreamCommentService.
* feat: display saved comments, side-aware storage, unified view handling
- Zone widget has display mode (shows saved text + Edit/Delete) and
edit mode (textarea + Comment/Cancel/Delete). Stays visible after submit.
- Comments store which side (old/new) they were added on and only
display on the matching editor side in split view.
- Unified view shows notification prompting to switch to split view.
- Clicking "+" on left side in split view saves with side='old'.
- Default diff view forced to split (useInlineViewWhenSpaceIsLimited=false).
- Fix TrustedHTML violation (innerHTML→clearNode).
- Fix disposable leak on onDidClose listeners.
- Re-register controller on refresh to force CommentsController re-query.
- Debug logs prefixed [WSComments] for troubleshooting.
* fix: diff comment controller — split-only mode, ghost cleanup, reliable restore
- Force split diff mode and remove Inline View menu toggle
- Comments only appear in diff editors, not regular file editors
- Support git:// URIs (left/original side of diff) for commenting
- Show saved comments reliably via getDocumentComments trigger
- Dispose zone widgets on file switch and worktree switch
- Remove all inline/unified diff mode code paths
* fix: smooth worktree switch + eliminate duplicate comment widgets
- Defer editor working set restore until after ext host settles (1.5s)
- Show progress indicator during worktree switch instead of error page
- Close zone widget after add/update, let _showSavedComments recreate
from saved data to prevent duplicates from onDidChangeComments
* style: align comment widget with code area past line numbers
* fix: double-dispose guard, trailing-slash path matching, scheme filtering
* feat: send comments to Claude + code quality cleanup
- Add "Send Review Comments to Claude" command (Cmd+Shift+P)
- Multi-select picker to choose which comments to send
- Opens new terminal, starts Claude session, sends formatted prompt
- Deletes sent comments and focuses terminal
- Dynamic zone widget height based on comment text length
- All user-visible strings use nls.localize()
- Magic numbers replaced with named constants
- console.log replaced with ILogService
- Removed unused IDialogService/INotificationService from controller
* updated readme and claude md files
* updated pause button
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.
What
Offline comment display and storage
Why
Test plan