Tags: Jud/mkdn
Tags
Persist comments onto the file's current disk content, not in-memory Comment auto-save wrote the whole in-memory document via saveFile(), which (a) committed unsaved body edits the user hadn't saved and (b) clobbered an external change that landed since load — e.g. an agent rewriting the file while the user adds a comment, destroying the agent's edit (codex review finding). saveFile() also ignored the watcher's outdated flag. Each comment op (add/edit/reply/delete) is now a pure sidecar transform applied twice: to the in-memory doc for the rail, and — for persistence — to the file's *current on-disk* content. Only the comment delta lands, so unsaved body edits and concurrent external writes survive (the pending reload reconciles in-memory). The reply id is minted once so the two writes match. A failed write surfaces via the mode overlay rather than being swallowed. Adds regression tests for the external-edit clobber and unsaved-body-edit cases. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
docs: re-shoot the comments GIF so replies pop into the thread The hero GIF now captures the new entrance animation — an agent's CLI reply scale-pops into the card's thread, live in the open window, rather than appearing in a hard cut. Re-shot in Solarized Dark against the committed filewatcher-debounce fixture. Updates the alt text and the image's intrinsic height to match. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
docs: update README and site for the v0.6.0 feature set README: comments section (sidecar format, rail, reply threads, paste-to- comment, mkdn comments CLI), new shortcuts (Cmd+J, Cmd+Shift+C/M/P), feature list additions (outline, marker track, table selection, fast open, VoiceOver), test count 634 -> 844, project tree refresh. Site: new "comments that live in the file" section with CLI sample, three new feature cards (fast on big documents, marker track, VoiceOver-ready), tables card now mentions Chrome-matched selection. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Center comment ticks on their line A tick at the line's top y reads as hovering above the text it marks. CommentMark now carries its line height (one character measures as a single line of its own style) and the marker track and minimap plot ticks at the line's vertical center. Half a line is sub-pixel on a scrolling document's proportional track, so the offset only shows where it should: the 1:1 short-document case. Cards keep anchoring to the line top. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add a clickAt harness command Synthesizes a left mouseDown + mouseUp through NSWindow.sendEvent at window-local (top-left origin) coordinates, exercising the real event path — hit-testing and SwiftUI gestures — without moving the global pointer, and reports the hit view. mkdn-ctl: `click <x> <y>`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PreviousNext