Repository navigation
feat(git): select repositories for submodule diff review - #1
NeilMazumdar wants to merge 348 commits into
Conversation
|
Contributing models and harnesses: Opus 5.5 via Claude Code and Sol 6.1 via Codex, both through T3 Code. Sol implemented the change and ran validation. Opus independently reviewed it and captured the before-and-after screenshots and recording. The upstream direction and scope are proposed in Ideas discussion #32784, which links this fork PR and includes screenshots and video. Maintainer approval is pending. |
ShowcaseRecorded on a local build of 6f331a0, with each before on a local build of its merge-base b90e554. The workspace is a synthetic umbrella with three submodules, one of which has its own nested submodule. Desktop shots are 1920 x 1080 in the light theme. Phone walkthrough, portrait (70 s)Recorded in Chrome at a 390 x 585 CSS-pixel viewport with mobile and touch emulation, for a phone held upright. Captions sit above the app, clear of the player's controls.
pr1-repository-picker-portrait.mp4Umbrella Changes viewBefore, the umbrella lists its submodules as pointer rows and has no way to review a child repository. After, the same pointer rows remain and the header gains a repository picker. Reviewing a child repositoryThe picker lists each initialized repository with its branch and path. schema is nested inside catalog. Clicking the title of auth's staged src/policy.ts opens packages/auth/src/policy.ts with the child's contents. ui shows its untracked src/tokens.ts as an added file. schema is a nested checkout on a detached HEAD, compared with Automatic. At 390 CSS pixels the picker, refs and toolbar wrap onto separate rows. Landscape walkthrough (59 s)
pr1-repository-picker-showcase.mp4Not shown: native iOS and Android, the Electron app, remote and relay connections, review comments and commit lists inside a child repository, the Latest turn view with a child selected, and the 256-repository discovery limit. Discovery bounds, hostile manifest paths and path guards are covered by tests. |
…kout (pingdotgg#32927) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…32941) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…Code (pingdotgg#33134) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…nd old toggles (pingdotgg#33131) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…turns (pingdotgg#28047) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… edits (pingdotgg#33143) The agy CLI rejects the managed runtime's yolo and auto_edit session modes, so Full access and Auto-accept edits threads failed to open. The CLI now stays in default mode and T3 answers its permission requests from the live policy. Takes over pingdotgg#32875. Co-authored-by: Peng Yue <padyue@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…s test (pingdotgg#33139) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ease commit (pingdotgg#33149) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rs (pingdotgg#33151) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ad from it (pingdotgg#31754) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…et (pingdotgg#31337) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#32180) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: ahalekelly <7078138+ahalekelly@users.noreply.github.com> Co-authored-by: Tomer Danan <40542472+Dananz@users.noreply.github.com> Co-authored-by: Dan Sanduleac <dan@sanduleac.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…gdotgg#32190) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… errors (pingdotgg#33148) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#33157) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#33141) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… servers (pingdotgg#31760) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…e secret card (pingdotgg#27748) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ip downloads (pingdotgg#33142) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#33145) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#33146) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…h .android overrides (pingdotgg#33173) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…s output (pingdotgg#34002) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…34006) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Codex image generation now appears as a timeline tool row with prompt and transparency inputs, completion results, failures, and cancellation. Retain inputs on cancellation and give image-only replies a separate message ID so they cannot replace the tool row. Verified with a real image generation and collapsed/expanded UI captures. check:changed passes, including 152 tests; CI and agentic reviews pass on 86d2045. Model: GPT 6.1 Sol via the Codex harness.
…a rate limit (pingdotgg#33676) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#33440) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngs (pingdotgg#33741) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…from a CLIProxyAPI hub (pingdotgg#33800) Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#33820) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
… server (pingdotgg#33587) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…error (pingdotgg#34087) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#34073) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
6f331a0 to
c73f7b8
Compare
|
Continued upstream as pingdotgg#34105, from the same branch rebased onto current main. The pre-rebase head 6f331a0 is kept as the tag |







Problem
An umbrella repository can show submodule pointers, but T3 cannot select a child repository to review its files. The Diff pane now has a searchable repository picker, with the repository name, branch and relative path. The umbrella remains the default and keeps native Git pointer diffs.
Change
Select an initialized submodule, including a nested one, to review its Changes, Uncommitted files, commits and comparison branches. Switching repositories resets the comparison branch to Automatic. Review comments retain workspace-relative file paths. Turn diffs and Git write actions remain tied to the thread's repository.
Web and desktop share the picker. Native mobile has a repository menu. The web toolbar wraps in narrow panels. The parent entry uses the project title, and parent reviews preserve subdirectory and symlink workspace paths. Discovery resolves paths before entering child repositories, excludes uninitialized modules and paths outside the workspace, and runs separately from routine diff and status refreshes. Opening the picker or pressing Refresh rediscovers repositories.
This follows the separate-repository model in VS Code and Zed.
Phone walkthrough
A 70-second portrait recording at a 390 x 585 CSS-pixel phone viewport. It starts on the base build, where the parent diff has only submodule pointer rows. On the fork head it uses the picker to review auth, ui, catalog and the nested schema, then returns to the parent.
pr1-repository-picker-portrait.mp4
Scope and approval
The upstream proposal is in Ideas discussion #32784. It requests explicit maintainer approval for the repository-picker direction and review-only scope. This fork PR remains available for inspection while that approval is pending; no upstream PR has been opened for this implementation.
Verification
vp run check:changedpasses formatting, lint, knip, GraphQL checks, affected-package typechecks, React Compiler checks, 412 changed-file tests and 17 cross-file checks. Regression coverage includes initialized and nested submodules, uninitialized modules, hostile manifest paths and symlinks, repository-scoped previews and commits, comment paths, selection resets and parent commit links.Chrome MCP confirms umbrella pointer diffs, auth file contents, staged changes, the UI module's untracked file and nested detached-HEAD selection. The narrow web layout was checked at 390 CSS pixels. Native mobile changes are typechecked but have not been run in an iOS or Android app. An independent review of 6f331a0 found no P0 to P2 issues. The showcase comment has before and after stills from local builds of b90e554 and 6f331a0, the portrait walkthrough and a 59-second landscape walkthrough. Both videos play and seek in a signed-out, phone-width Chrome tab.
Models and harnesses: Opus 5.5 via Claude Code and Sol 6.1 via Codex, both through T3 Code. Sol implemented and validated the change; Opus independently reviewed it and captured the screenshots and recording.