PR review workflow, commit history view, and diff tooling upgrades - #57
Merged
Conversation
Editor theme, tokens, and commit diff highlighter previously rendered all identifiers in near-white text; now variables/properties get a soft light-blue and functions/calls get a warm gold, shared via new --syntax-* CSS tokens.
Replace the wheel-count-based `term_native_selection_scrolled` command with `detect_scroll_shift`, which diffs consecutive grid snapshots by row text to measure the actual scroll offset and re-glues the active selection accordingly. This tracks apps (vim, less, htop) that scroll more than one row per wheel notch, where the old heuristic drifted.
Lets users attach change requests to individual diff hunks and send them as one composed prompt to the worktree's agent terminal.
- Drop the tab subtitle/summary line and shrink tab heights (36→30px strip, 32→26px MainColumn tabs, 28→24px RightPanel tabs).
…r truncated diff shown in the prompt), so I have enough context. Providing the commit message based on the diff I already saw. Add 3-pane main-column split support to warp_term Extend PANES from 2 to 3 slots (main, side, main2) so a main-column split renders both halves natively, and clip wide alt-screen grids to their pane's width so full-width TUIs stop bleeding into neighboring React panels.
Replace ⌘N's auto-created landmark-named worktree with a dialog for choosing the name, sidebar color, and icon before creation.
Lift the floating fix bar off the panel's bottom edge using --space-4.
Registers gh CLI-backed PR listing/diff/checkout in the backend, with tagged auto-stash/restore around checkout so uncommitted work is never lost.
Introduces pr_review_enter/pr_review_restore to stage a PR's diff via merge-base soft-reset so it renders in the normal changes UI, and adds a self-review guard preventing pr_checkout from clobbering the worktree's own branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pr_list,pr_diff,pr_checkout,pr_checkout_returninsrc-tauri/src/pr.rs,src/git/PrsView.tsx,src/git/PrDiffView.tsx,src/git/conflictAgent.ts).src/git/HistoryView.tsx,src/git/history-graph.ts,src/git/CommitDetailView.tsx).src/git/DiffAsk.tsx,src/git/DiffFix.tsx).src/shell/CreateWorktreeDialog.tsx).AppState.tsxsubstantially (src/state/reducer.ts,src/state/reducer.test.ts).icons.ts→icons.tsx), and design tokens (src/design/cm6-theme.ts,src/design/icons.tsx,src/git/diff-highlight.tsx,src/design/tokens.css).src/terminal/inputModeDecision.ts,src/lib/pointerDrag.tsx,src/lib/dragPoint.ts, nativewarpuiselection/window changes).browserskill for driving the in-pane headless Chrome daemon.Why
These changes round out the git-centric workflow inside the app: reviewing and merging PRs, browsing commit history, and asking/fixing diffs no longer require dropping out to a terminal or GitHub in the browser. The terminal and state-management work fixes long-standing input/selection glitches and pays down complexity in
AppState.tsxahead of further feature work.Test plan
bun test(reducer, agentActivityStore, DiffFix, history-graph, inputModeDecision, dragPoint suites)cargo testinsrc-tauri(PR list/diff/checkout/return commands, stash matching)