Skip to content

Releases: mblode/diffhub

diffhub@0.3.0

12 Jun 22:05
5c6c921

Choose a tag to compare

Minor Changes

  • bdc00de: Add Bun support as an alternative runtime to Node.js. The CLI now spawns the standalone server with whatever runtime launched it (process.execPath) instead of hardcoding node, and the startup gate accepts Bun 1.0.23+ (the version that added import.meta.dirname/filename, mirroring the existing Node 20.11+ floor). The open-in-diffhub.sh launcher detects node or bun and picks a matching build command.

Patch Changes

  • 08644ea: Show untracked files in local diffs by default. The CLI now exposes diff scope modes for touched, staged, unstaged, committed, and all changes, and synthesizes new-file patches for untracked files so they appear in the streamed diff and file list.

diffhub@0.2.6

03 Jun 23:02
3fb4c31

Choose a tag to compare

Patch Changes

  • 1d8822b: Fix the diff's vertical scrollbar rendering behind the content in Safari. The scroll container used a native overlay scrollbar, which WebKit paints beneath the diff's z-indexed gutter/annotation layers; it now uses a styled, reserved-gutter scrollbar that the content can't cover. Reverts the prior 0.2.5 change that targeted the wrong (per-file horizontal) scrollbar.

diffhub@0.2.5

03 Jun 21:45
512640a

Choose a tag to compare

Patch Changes

  • 9be4947: Fix the diff viewer flickering constantly in Safari. The CodeView paint-nudge (a Chrome-only workaround that flicks the scroll container's opacity to force a first paint) was re-rasterizing the whole diff on every tick in WebKit; it's now skipped in Safari. Also: expand all file-tree folders by default, collapse the per-file horizontal scrollbar that rendered behind the gutter in Safari, and align the CLI favicon with the marketing site.

diffhub@0.2.4

03 Jun 10:00
cfb8a72

Choose a tag to compare

Patch Changes

  • d41c336: Stop the diff viewer from auto-refreshing. A background detector now surfaces an "Updates available" indicator on the refresh button instead of reloading the diff on its own, so the view only changes when you refresh (button or R). Also fixed the sidebar file tree flashing on diff updates by rebuilding it only when the set of files changes.

diffhub@0.2.3

02 Jun 00:13
3d0a9c3

Choose a tag to compare

Patch Changes

  • 615078d: Fix the sidebar active-file highlight landing on the file above the one you clicked.

    The active-file tracker read a top field off getRenderedItems() that @pierre/diffs does not provide, so it always fell back to the first item in the virtualized window — the file scrolled partially above the viewport. It now resolves the active file from the viewer's own scroll coordinates (getScrollTop() + getTopForItem()), selecting the section the viewport top actually sits inside, and reads geometry once per animation frame.

diffhub@0.2.2

01 Jun 23:57
4211f49

Choose a tag to compare

Patch Changes

  • 7634e2c: Fix the diff-viewer chrome styling in local dev and tighten the sidebar search alignment.

    • The shared @diffhub/diff-core chrome components (toolbar, switches, file list) rely on the consuming app's @source directive to generate their Tailwind utilities. Turbopack's dev server does not auto-expand the bare-directory @source form, so package-only classes (e.g. the h-[52px] toolbar, switch dimensions) silently failed to generate in next dev, leaving the viewer unstyled. Switching @source to an explicit **/*.{ts,tsx} glob restores generation in dev. The production build was already correct.
    • The sidebar search row is now h-[51px] so that, combined with the SidebarHeader's 1px border-b, it totals 52px and aligns with the StatusBar header.

diffhub@0.2.1

01 Jun 09:23
56ba401

Choose a tag to compare

Patch Changes

  • 6216cf9: Fix the diff viewer occasionally rendering blank (line backgrounds only, no code) on first load until you scroll — the shared CodeView now reliably paints its first window. Internally, the diff viewer engine and chrome (status bar, file list, per-file header, sidebar) were extracted into a shared @diffhub/diff-core package that also powers the new diffhub.blode.co live PR viewer.

diffhub@0.2.0

30 May 23:16
7f91b49

Choose a tag to compare

Minor Changes

  • 975bef7: Migrate the diff viewer to the virtualization-first CodeView component from
    @pierre/diffs (upgraded to 1.2.4). The entire change set now renders in a
    single virtualized surface that scales to thousands of files, replacing the
    per-file PatchDiff loop and the hand-rolled scale layer (scroll anchoring,
    min-height pinning, IntersectionObserver activation, and deferred-render
    placeholders) — all of which CodeView now owns natively. Comments, split/
    unified layout, theming, collapse/expand, and sidebar navigation are preserved.

  • 43a7524: Migrate the file-tree sidebar to the virtualization-first FileTree from
    @pierre/trees, replacing the hand-rolled tree (manual tree-building, folder
    compaction, and per-row rendering) with a single virtualized surface that scales
    to thousands of files. Git-status colouring, VS Code-style folder compaction,
    comment-count badges, filter search, and scroll-driven active-file sync are
    preserved and mapped onto the package's native model API.

    The sidebar is rebuilt to full "Diffs and Trees" parity: a toolbar (file
    tree / comments-only / search), collapsible Diff Stats (F2) and System
    Monitor
    (F3) panels driven by the existing diff stats and file-watcher status,
    and a "Powered by Diffs and Trees" footer.

Patch Changes

  • 1f65c95: Refine the diff toolbar: merge the "Live" status pill and refresh button into a
    single status dot that doubles as force-refresh (showing a spinner while
    updating), use action-convention icons for the collapse/expand and split/unified
    toggles so each icon matches its tooltip, and default the sidebar to expanded on
    launch.

diffhub@0.1.23

18 May 01:52
8f06118

Choose a tag to compare

Patch Changes

  • 8190a90: Add file watcher event forwarder and refresh support for the files API

diffhub@0.1.22

18 May 00:41
6936ca7

Choose a tag to compare

Patch Changes

  • e231a42: Add SSE-based file watcher for live repo change detection, bulk comment clearing, and watch status indicator in the status bar