Fix #506: commit-graph visualization #511
No reviewers
Labels
No labels
actions
bug
cli
duplicate
enhancement
fork
forum
git storage
help wanted
insights
invalid
issues
moderation
oidc
ownership transfer
packages
pr/merge protection rules
projects
pull requests
question
releases
sponsorships
tags
webhooks
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub!511
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/issue-506"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Optional (default OFF, persisted) commit-graph on the Commits tab — client derivation only, no backend/SDK/wire change, no new deps (law 1: hand-rolled lanes; any library need would have been flagged before landing — none was).
What: new pure web/src/lib/commit-graph.js (assignLanes first-parent threading + branch-out/merge-in, rowDiagonals, geometry, localStorage toggle helpers default OFF), lane-rail column in CommitRow, pill toggle in the crumbs row (aria-pressed), createMemo over the sha+path+skip useData window (zero new fetches), themed .gl-N palette (light 700s / dark 400s, class-only, no JSX literals), rail hidden at <=480px with ParentLinks kept (390px safe by construction), pager trade-off called out in UI + code, law-12 decision in docs/go/12_web_ui.md.
Tests: new web/test/unit/commit-graph-506.test.js (14 tests); full node --test web/test/unit/*.test.js 1145 total / 1144 pass / 1 fail — the 1 failure is pre-existing on pristine origin/main (live-server smoke subtest in smoke.test.js, verified head-to-head); vite build + esbuild green with the rail in the bundle. Browser proof open (shared-daemon loopback guard blocks loopback targets — no private daemon per workspace rules). Do NOT merge — review requested.
Client-only lane derivation (web/src/lib/commit-graph.js) from the existing {sha, parents} payload — no backend/SDK/wire change, no new deps. Toggle defaults OFF, persisted via localStorage (theme precedent); lanes memoize per sha+path+skip window; rail hides at <=480px (390px safe); law-12 decision in docs/go/12_web_ui.md.