Repository navigation
chore(deps): upgrade @pierre/diffs to 1.5.2 and @pierre/trees to beta.6 - #16644
Conversation
…0-beta.6 Move the editable Files surface to the 1.4 edit API. Pierre highlights an edit session on the main thread, so the panel stays read-only until the worker's highlight has painted, then attaches the editor. Upstream now covers the stale-highlight, grammar-readiness and option-forcing hunks of our patch. The rest shrinks to the subpath exports and the wrapped-row height retention from #10018. The parser now decodes git-quoted names itself, so drop our second decode, which turned a literal backslash into nothing. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This dependency upgrade also rewires the production file editor and diff renderer, including worker-highlight readiness, edit synchronization, virtualization, and cache behavior. The changes span user-facing web and mobile review paths and are broader than routine dependency maintenance. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (21)
💤 Files with no reviewable changes (4)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe PR upgrades Pierre packages and updates their local diff patch. It migrates editable file previews to the edit API, updates diff viewer types, and changes mobile and web review path mapping to use parser-provided names directly. ChangesPierre editor and diff integration
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Other Sequence Diagram(s)sequenceDiagram
participant FilePreviewPanel
participant WorkerPool
participant FileRenderer
participant ProjectFileQuery
participant SaveQueue
FilePreviewPanel->>WorkerPool: Prime highlighting
WorkerPool->>FilePreviewPanel: Return highlight result
FilePreviewPanel->>FileRenderer: Provide file contents and edit readiness
FileRenderer->>FilePreviewPanel: Send editor change
FilePreviewPanel->>ProjectFileQuery: Update optimistic contents
FilePreviewPanel->>SaveQueue: Queue changed contents
Suggested reviewers: Merge Risk: ⚪ Minimal · up to No actionable merge-blocking issue remains after the reviewed changes and normal checks. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
## What's Changed * fix(web): show attempted paths in file preview errors by @maria-rcks in pingdotgg/t3code#15628 * fix(vcs): passive sidebar rows stop retaining remote pollers by @maria-rcks in pingdotgg/t3code#15666 * feat(web): group keybindings settings by area with a page toolbar by @maria-rcks in pingdotgg/t3code#12822 * feat(web): stop T3-owned subagents from Lineage by @Bil0000 in pingdotgg/t3code#15211 * feat(web): add fast actions to linked pull requests by @maria-rcks in pingdotgg/t3code#16627 * feat(web): open right panel tab menu with Mod+T by @Bil0000 in pingdotgg/t3code#15686 * fix(server): provider sessions clean up when their start is interrupted by @juliusmarminge in pingdotgg/t3code#15571 * fix(web): show "No project" near the top of the new thread picker by @juliusmarminge in pingdotgg/t3code#16628 * refactor(server): instrument WS RPCs in group middleware by @juliusmarminge in pingdotgg/t3code#15548 * chore(deps): upgrade @pierre/diffs to 1.5.2 and @pierre/trees to beta.6 by @juliusmarminge in pingdotgg/t3code#16644 * fix(relay): a host restarting onto a deleted tunnel gets a new one by @juliusmarminge in pingdotgg/t3code#16649 * fix(server): recover a deleted tunnel when Cloudflare says "Tunnel not found" by @juliusmarminge in pingdotgg/t3code#16648 * fix(web): iPhone Duo fold controls follow the phone's orientation by @gabrielelpidio in pingdotgg/t3code#16630 * fix(web): keep workspace options when expanding lineage by @maria-rcks in pingdotgg/t3code#16635 * fix(web): preserve bare anchor placeholders in markdown by @maria-rcks in pingdotgg/t3code#16637 * fix(pi): preserve provider identity in discovered models by @maria-rcks in pingdotgg/t3code#16661 * fix(auth): preserve explicitly granted pairing scopes by @juliusmarminge in pingdotgg/t3code#9785 * feat(auth): separate environment administration permissions by @juliusmarminge in pingdotgg/t3code#9786 * feat(auth): separate source control write permissions by @juliusmarminge in pingdotgg/t3code#9787 * feat(auth): separate filesystem read and write permissions by @juliusmarminge in pingdotgg/t3code#9788 * feat(auth): separate browser preview control permissions by @juliusmarminge in pingdotgg/t3code#9789 * feat(auth): separate diagnostics and usage permissions by @juliusmarminge in pingdotgg/t3code#9790 * feat(auth): allow passive terminal observation by @juliusmarminge in pingdotgg/t3code#9791 * fix(auth): keep old clients connected across scope changes by @juliusmarminge in pingdotgg/t3code#10298 * feat(server): hosted agents like ChatGPT can sign in to the T3 MCP server by @juliusmarminge in pingdotgg/t3code#16718 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261006.2752...v0.0.46-nightly.20261007.2761 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261007.2761
Problem
We pinned
@pierre/diffsat1.3.0-beta.10with a five-hunk local patch, and@pierre/treesat1.0.0-beta.4. Since then Pierre shipped 1.3 through 1.5.2, with parser, worker and virtualization fixes. 1.4 also replaced the editor API that the editable Files panel uses.Bumping it directly causes two regressions:
Change
@pierre/diffs1.5.2 and@pierre/trees1.0.0-beta.6.@pierre/diffs/edit,edit,onEditChange,EditProvider createEditor).---/+++-only patches. SoresolveFileDiffPathand mobilereviewModelno longer unquote a second time. That second pass turnedback\slash.txtintobackslash.txt.Upstream changes that come with the bump:
src/Dockerfile,build/Makefile,tools/BUILD,.starand.odinfiles get syntax highlighting.Scope and approval
Maintainer-requested dependency bump (Julius). It touches web and mobile only because they import the same Pierre packages. #10508 edits the old patch file and will need rebasing onto this one.
Verification
Main-thread time while opening the 11.7k-line
ChatView.tsxin the Files panel. Measured with alongtaskobserver, same scratch repo, headless Chromium, three runs each.main(beta.10)Highlighting for a nested
docker/Dockerfile. Same file and viewport.main)Real browser, scratch repo (no real files edited), with no console errors:
Tests:
fileEditorVirtualization.test.ts: 29/29 pass with the patch; 15 fail without its wrapped-row hunks.diffRendering.test.tsadds a literal-backslash case.StyledDiffCodeView.test.tsxnow expects Pierre's 10 s worker-start timeout for a held pool.fileEditorHighlight.test.tsandfileEditorLanguageReadiness.test.tsare deleted. They exercised the two patch hunks upstream now owns, by driving renderer internals that 1.5 replaced.Not verified:
reviewModel/shikiReviewHighlightertests.Behavior change: the undo history no longer survives closing a file and reopening it; edits within a session undo as before.
🤖 Generated with Claude Code — Claude Opus 5.5 (1M context)