You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every Edit/Write detail crashed the iOS tool-call sheet since the Pierre
cutover (ba4b254): makeUnifiedDiff emitted bare @@ hunks, Pierre's
parsePatchFiles found zero files in them, and PatchDiff's
getSingularPatch threw — then the render boundary inside the RESIDENT
webview stuck on that error for every subsequent open. The working-tree
path never crashed because git-watch synthesizes full git headers.
makeUnifiedDiff now emits the git form (diff --git + --- a/ + +++ b/,
basename only — no /Users/... leak, drives language inference). Git mode
is load-bearing beyond the obvious: non-git mode splits files on
^---\s+\S anywhere, so a deleted '-- comment' line (SQL/Lua/Haskell)
renders as '--- comment' and forges a phantom second file. Hunk-body
lines always carry a +/-/space/\ prefix, so nothing can forge a
diff --git boundary. Also pads both fragment sides with a final newline
to suppress jsdiff's '\ No newline at end of file' markers — they
assert a file-end fact that snippet diffs cannot know.
App side: the hand-rolled RenderBoundary becomes react-error-boundary
with resetKeys=[payload], so a bad payload only poisons its own open.
Bump @pierre/diffs 1.2.7 -> 1.2.10 (worker asset re-synced): upstream
independently fixed the SQL-comment parse in 1.2.9 and 1.2.10 allows
shiki 4. Edge-case sweep (frontmatter ---, editing .patch files, CRLF,
CJK, 2000-line writes, spaced filenames) verified against the new parser.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments