feat(review): compare local branch with remote - #1451
Conversation
…e-review # Conflicts: # packages/core/guide-viewer-manifest.ts
|
Thanks for the quick self-fixes; the review of this PR came back clean on everything that matters (both runtimes pick the mode up purely through the shared modules, the panel/diff coupling holds, the fingerprint invalidates on fetch, and the tests are genuinely good, including the bare-remote integration test). One mechanical step left, and it is a timing artifact, not a mistake in your change: your manifest refresh commit ran before the merge of upstream main, and main's recent packages/ui work is in the portable viewer bundle graph, so the merge moved the bundle hash again and re-staled the freshly pinned manifest. CI now expects a manifest generated at your current head. Run: and commit the regenerated packages/core/guide-viewer-manifest.ts. That should be the last thing between this and merge. For context on why your PR pays this toll at all: the review picker options live in packages/ui/config/settings.ts, which the guides.show read-only viewer also bundles, so any change there re-pins the viewer build. Nothing to fix on your side beyond the regen. AI-assisted (Claude) under maintainer direction. |
|
Merged. This was an unusually well-integrated contribution: the mode flows through both server runtimes purely via the shared modules, the panel coupling and staging invariants hold, and the bare-remote integration test is exactly the kind of coverage this repo wants. The since-fetch semantics and the first-run guard you added on your own initiative both matched what our review flagged. Ships in the next release. |
Context
Review mode can compare a branch with its base or inspect selected working-tree states, but it does not have a direct way to answer: “What would I push to this branch’s configured remote?”
This adds a Local vs remote branch diff mode. It compares the current working tree with the branch’s configured remote-tracking ref from the last fetch, including local commits, staged and unstaged edits, and untracked files.
What Changed
@{upstream}instead of assuming anorigin/<branch>naming convention.Review Focus
<upstream>versus the working tree with no right-hand ref; untracked files are added separately, matching the composite behavior of the existing review modes.@{upstream}cannot be resolved. Persisted defaults fall back through the existing initial-mode resolver when the option is unavailable.Screenshots
Review picker
Settings
Test Plan
bun run build:reviewbun run build:hookgit diff --check