Skip to content

feat: add side-by-side diffs with synchronized scrolling - #37

Merged
ziqq merged 1 commit into
mainfrom
ziqq/split-diff
Oct 23, 2026
Merged

ziqq merged 1 commit into
mainfrom
ziqq/split-diff

Conversation

@ziqq

@ziqq ziqq commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Changed files now offer a Unified / Side-by-side switch in in-page file tabs and View full. Side-by-side aligns old/new change blocks and synchronizes vertical and horizontal scrolling. Switching layouts reuses the validated revisions and syntax tokens while preserving the source line and fractional scroll offset.

The layout is shared within the page and defaults to Unified after reload. Tabs and View full keep independent positions; tab metadata remains in unified coordinates so file/review switches, Refresh and reload restore the same source location. Both panes remain virtualized, and closing or replacing a viewer removes its controls and listeners.

Validation:

  • npm run verify: 253/253 tests, formatting, lint, static checks, build and ZIP verification passed.
  • Added 20 regressions for layout controls, unequal change blocks, two-axis scroll synchronization and bounds, source-line positions, per-file/review restoration, inline/dialog isolation, font/viewport changes and disposal.
  • All 20 new scenarios fail on the pre-feature implementation. Mutation checks detect disabled synchronization, lost source anchors and unequal horizontal overflow.
  • The regression fixtures use production content factories with controlled provider replies and synthetic viewport geometry. Installed-extension smoke verification on live GitHub/GitLab remains pending.

@github-actions github-actions Bot added documentation Improvements or additions to documentation need test's Issue to be tested labels Oct 23, 2026
@ziqq ziqq self-assigned this Oct 23, 2026
@ziqq
ziqq merged commit 1085f89 into main Oct 23, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation need test's Issue to be tested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant