mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
85a176b98a
* feat(ui): commit-scoped session diff viewer with file, sync, and view menus The Control UI session diff panel becomes a dense Amp-style viewer: per-file menus (copy path, open file, reveal in file tree, open in editor), a Sync Locally popover with a copyable git fetch command, view options (collapse all, wrapping, split/unified layout), and a sticky footer that reports how far the branch is ahead of its merge base and switches between all changes, uncommitted work, and individual commits. sessions.diff gains an additive scope param (all | uncommitted | commit) plus commits, aheadCount, and mergeBase metadata. Commit-scope diffs read only the object database, skip untracked collection, and bypass session-start baseline filtering; unknown commits surface a typed unavailableReason. Offscreen file bodies use content-visibility so large diffs stay responsive. * fix(ui): satisfy session diff CI gates * fix(gateway): fence commit-scoped session diffs to the advertised branch history ClawSweeper found that commit-scoped sessions.diff accepted any commit resolvable in the checkout. Fence operator.read commit reads to the advertised merge-base..HEAD history and cover sibling-branch and base-history commits.