Fix #546: diff line comments #551

Merged
crueber merged 1 commit from fix/issue-546 into main 2026-09-15 00:54:25 +00:00
Owner

Select line(s) in a PR diff to create inline comment threads, with a jump-to-comments index at the conversation top. Client-only: DiffTable comment-on-selection affordance → shared CommentComposer (no prompt); range anchors via new headless lib/review-anchor.js (single-line keeps stageLine shape, hash inputs byte-identical, pinned Go-twin vector untouched); Files-tab threads via pulls.threads.create; conversation ThreadIndex reflects placement truth incl. drifted. Tests: node --test 1278 total / 1277 pass / 1 pre-existing live-server smoke fail; vite+esbuild green; no new deps. Law-12 decisions in docs/features/04_code_review.md + docs/go/12_web_ui.md.

Select line(s) in a PR diff to create inline comment threads, with a jump-to-comments index at the conversation top. Client-only: DiffTable comment-on-selection affordance → shared CommentComposer (no prompt); range anchors via new headless lib/review-anchor.js (single-line keeps stageLine shape, hash inputs byte-identical, pinned Go-twin vector untouched); Files-tab threads via pulls.threads.create; conversation ThreadIndex reflects placement truth incl. drifted. Tests: node --test 1278 total / 1277 pass / 1 pre-existing live-server smoke fail; vite+esbuild green; no new deps. Law-12 decisions in docs/features/04_code_review.md + docs/go/12_web_ui.md.
Files-tab DiffBody gains a comment-on-selection affordance feeding the
shared CommentComposer; selection/range anchors build only through the
new headless lib/review-anchor.js (single-line keeps the stageLine
shape, hash inputs byte-identical — pinned Go-twin vector untouched).
Conversation replaces window.prompt with a draft composer, adds
Shift+click ranges and a ThreadIndex atop the conversation reflecting
placement truth. No backend, no new wire, no new deps.
Sign in to join this conversation.
No description provided.