feat(review): Commits panel for jj sessions (#1604)
* feat(review): Commits panel for jj sessions Bring the Tree | Commits rail to Jujutsu sessions (pure jj and colocated). The rail walks first parents from the working copy (first_ancestors(@), dropping a blank @), clicks open a new jj-commit:<commit id> diff type (first-parent diff, hunk expansion, image previews, fingerprint, analysis snapshot), and the detour contract (memo restore, snap-back on reload, never persisted) is unchanged. Bun and Pi servers share the logic via commit-history.ts / jj-core.ts. * fix(review): jj Commits review follow-ups - An opened jj revision no longer freezes when jj rewrites it: the jj-commit fingerprint is visibility-aware (visible / hidden / gone), so editing an opened @ raises "Diff out of date", and /api/diff/switch (both runtimes) canonicalizes a hidden id to its change's current version, so Refresh lands on the new @; the client adopts the returned diff type on an in-place refresh. - A blank MERGE working copy stays on the rail (blank now requires one parent). - jj < 0.33 detection matches the specific missing-function error. - The feedback export labels a jj revision by its short change id.
M
Michael Ramos committed
f1935a5f34eaf9443fa999785125ff29c21eba0a
Parent: 9a31ae1
Committed by GitHub <noreply@github.com>
on 9/24/2026, 6:56:22 PM