Skip to content

chore(infinity-ui): upgrade @pierre/diffs to 1.5.2 and @pierre/trees to 1.0.0-beta.6 - #172

Open
shadaj wants to merge 1 commit into
mainfrom
sandbox-8eb94510-d069-4b2c-b5d7-fb0a19c497e3
Open

shadaj wants to merge 1 commit into
mainfrom
sandbox-8eb94510-d069-4b2c-b5d7-fb0a19c497e3

Conversation

@shadaj

@shadaj shadaj commented Oct 20, 2026

Copy link
Copy Markdown
Member

@pierre/diffs 1.2.12 → 1.5.2

  • Bump the dependency range in infinity-ui and infinity-web (^1.5.2) and refresh all three
    lockfiles (infinity-ui, infinity-web, docs). infinity-web's lock had been stuck on 1.2.1.
  • DiffView.tsx: spell out the now-required metadata type arguments on type-only APIs
    (CodeViewHandle<undefined, undefined>, CodeViewItem<undefined>), per the 1.4 breaking change.
    Nothing else in our usage (CodeView, PatchDiff, Virtualizer, WorkerPoolContextProvider)
    was affected — the other breaking changes concern the new edit mode, which we don't use.
  • Regenerate the chat-diff-result.png e2e golden: 1.5 renders with @pierre/theme 2.0 (slightly
    tighter gutter) and now pairs similar -/+ lines for intra-line highlighting, which reorders
    one hunk's add/remove lines in the snapshot. The underlying patch is unchanged.

@pierre/trees 0.0.1-beta.4 → 1.0.0-beta.6 (API rewrite)

The React FileTree no longer takes files/gitStatus/selectedItems/expandedItems props; it
takes a model created once via useFileTree(options) and driven imperatively.

  • DiffView.tsx: create the model with useFileTree({ paths, gitStatus, flattenEmptyDirectories, initialExpansion: "open", onSelectionChange }). Since the hook ignores later option changes,
    file-list updates are synced via model.batch() (diffed add/remove ops rather than a full reset, so
    the user's collapse state, selection and focus survive live updates) and model.setGitStatus().
    Removing a file does not prune its now-empty ancestors in the new store, so directories that
    disappear from the file set are removed explicitly (deepest first). New directories start expanded
    thanks to initialExpansion: "open", matching the old "all dirs expanded by default" behaviour.
    The separate expanded/selected React state is gone.
  • DiffView.module.css: the theming hooks moved to --trees-*-override variables; give the tree a
    flex: 1; min-height: 0 box so the new virtualized tree can scroll inside the sidebar.

Misc

  • Regenerate THIRD-PARTY for the new transitive deps (@pierre/theme 2.0.0, @pierre/theming
    1.0.x, preact, preact-render-to-string).

Verified with ./check.bash (all green, including the Playwright e2e suite) and a throwaway
Playwright harness that rendered DiffView with a changing file set to confirm icons, git badges,
flattened dirs, directory pruning and click-to-scroll selection all work with the new tree.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Deploying infinity with  Cloudflare Pages  Cloudflare Pages

Latest commit: 69d5020
Status: ✅  Deploy successful!
Preview URL: https://7e290d3e.infinity-dc7.pages.dev
Branch Preview URL: https://sandbox-8eb94510-d069-4b2c-b.infinity-dc7.pages.dev

View logs

…es` to 1.0.0-beta.6

## `@pierre/diffs` 1.2.12 → 1.5.2

* Bump the dependency range in `infinity-ui` and `infinity-web` (`^1.5.2`) and refresh all three
  lockfiles (`infinity-ui`, `infinity-web`, `docs`). `infinity-web`'s lock had been stuck on 1.2.1.
* `DiffView.tsx`: spell out the now-required metadata type arguments on type-only APIs
  (`CodeViewHandle<undefined, undefined>`, `CodeViewItem<undefined>`), per the 1.4 breaking change.
  Nothing else in our usage (`CodeView`, `PatchDiff`, `Virtualizer`, `WorkerPoolContextProvider`)
  was affected — the other breaking changes concern the new edit mode, which we don't use.
* Regenerate the `chat-diff-result.png` e2e golden: 1.5 renders with `@pierre/theme` 2.0 (slightly
  tighter gutter) and now pairs similar `-`/`+` lines for intra-line highlighting, which reorders
  one hunk's add/remove lines in the snapshot. The underlying patch is unchanged.

## `@pierre/trees` 0.0.1-beta.4 → 1.0.0-beta.6 (API rewrite)

The React `FileTree` no longer takes `files`/`gitStatus`/`selectedItems`/`expandedItems` props; it
takes a `model` created once via `useFileTree(options)` and driven imperatively.

* `DiffView.tsx`: create the model with `useFileTree({ paths, gitStatus, flattenEmptyDirectories,
  initialExpansion: "open", onSelectionChange })`. Since the hook ignores later option changes,
  file-list updates are synced via `model.batch()` (diffed add/remove ops rather than a full reset, so
  the user's collapse state, selection and focus survive live updates) and `model.setGitStatus()`.
  Removing a file does not prune its now-empty ancestors in the new store, so directories that
  disappear from the file set are removed explicitly (deepest first). New directories start expanded
  thanks to `initialExpansion: "open"`, matching the old "all dirs expanded by default" behaviour.
  The separate expanded/selected React state is gone.
* `DiffView.module.css`: the theming hooks moved to `--trees-*-override` variables; give the tree a
  `flex: 1; min-height: 0` box so the new virtualized tree can scroll inside the sidebar.

## Misc

* Regenerate `THIRD-PARTY` for the new transitive deps (`@pierre/theme` 2.0.0, `@pierre/theming`
  1.0.x, `preact`, `preact-render-to-string`).

Verified with `./check.bash` (all green, including the Playwright e2e suite) and a throwaway
Playwright harness that rendered `DiffView` with a changing file set to confirm icons, git badges,
flattened dirs, directory pruning and click-to-scroll selection all work with the new tree.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #172
@shadaj
shadaj marked this pull request as ready for review October 20, 2026 17:55
@shadaj
shadaj requested a review from a team October 20, 2026 17:55
@shadaj
shadaj force-pushed the sandbox-8eb94510-d069-4b2c-b5d7-fb0a19c497e3 branch from d942502 to 69d5020 Compare October 27, 2026 20:53
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