Summary
Diff navigation hardening on large files: smooth-scroll cancellation fix on Alt+Down, scroll-to-change index correction in virtual mode, and a fullscreen overlay teleport so the toolbar renders above the sticky header. Also includes the @diffspot/vue public-API cleanup and CI/runtime upgrades.
Features
- @diffspot/vue: type declarations, cleaned-up public API, app now consumes the package surface (0b6875d)
Fixes — diff navigation & scroll
- Prevent scroll-sync from cancelling smooth scroll on Alt+Down — the back-sync between split panels was racing with itself and writing to the source mid-animation, freezing scroll within ~1px on large diffs (f899f7d)
- Render fullscreen diff above the sticky header by teleporting the overlay to
<body>, escaping the page's z-10 stacking context (dcab267) - Correct scroll-to-change index in virtual scroll mode — only count items that appear in the left panel (caa27f5)
- Use scrollRatio-based mapping for currentChangeIndex in virtual scroll mode (af73928)
- Use
el.scrollHeightas source of truth for scroll ratios inuseDiffNavigationand minimap scroll-to (04b9834) - Use virtual total height for minimap scroll-to in
DiffSplitViewandDiffUnifiedView(4c23961) - Center viewport on minimap click; preserve scroll container fallback in
DiffSplitView(5d8613e) - Resolve diff navigation scroll to correct position for large files (76def75)
Fixes — UI
- Swap theme-toggle icons to show target mode instead of current mode (0f4f706)
- Align header content with editor section via
max-w-7xlcontainer (61ee6fc)
Fixes — infra / CI
- Add
pages_build_output_dirso wrangler respectscompatibility_flags(1421853) - Use Node.js 24 in CI (Node.js 20 deprecated) (be6db48, 78477e4)
- Enable
nodejs_compatinwrangler.tomlfor Cloudflare Pages runtime (74abfc5)
Tests
- Add unit tests for
useVirtualScrollanduseDiffNavigation(b1f468e)
Docs
- Update PRD and README to reflect Nuxt 4, Tailwind 4, and current header/footer (f65649d)
- Add deployment note to release skill (0916588)
- Unify header and footer styling with sibling sites (01dc352)
Packages
@diffspot/[email protected]published to npm@diffspot/coreunchanged at0.4.0