Skip to content

fix(diff): add horizontal scrolling for long lines - #53

Open
ChrisLauinger77 wants to merge 2 commits into
cheat2001:mainfrom
ChrisLauinger77:codex/diff-horizontal-scrollbar
Open

ChrisLauinger77 wants to merge 2 commits into
cheat2001:mainfrom
ChrisLauinger77:codex/diff-horizontal-scrollbar

Conversation

@ChrisLauinger77

@ChrisLauinger77 ChrisLauinger77 commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Long lines in unwrapped diffs could only be reached using horizontal trackpad gestures. Add a horizontal scrollbar that stays at the bottom of the viewport while scrolling vertically, plus Shift+mouse-wheel support. Working-copy changes and code diffs opened from selected commits use this same viewer. Inline and side-by-side views share the same pan controller, so split panes remain aligned and search jumps keep the scrollbar synchronized. Arrow keys operate the focused scrollbar without triggering diff navigation; wrapping removes the scrollbar.

Validation: desktop TypeScript check, all 227 unit tests, and four Chromium browser tests passed. Browser coverage includes the new scrollbar/Shift+wheel regression, horizontal scrolling in a selected commit's inline and split code diffs, first-change auto-jump, and selection/copy while scrolling. Checks used the installed binaries directly because the pnpm wrapper attempted to install dependencies in an unwritable store. Native WebKitGTK has not been checked.

Screenshots

Horizontal scrollbar in the side-by-side diff

Checklist

  • TypeScript and unit tests pass (direct installed binaries)
  • Rust checks and new engine integration tests: not applicable (frontend only)
  • Undo tracking: not applicable (no Git mutations)
  • Colors use design tokens only
  • CLAUDE.md updated with scrollbar behavior and test count
  • Commits carry no trailers from coding tools

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant