Merged-PR sha renders as unclickable text; merge commit structurally absent from the PR commits tab #595
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 project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub#595
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Investigation (reproduced on origin/main
c2555fc, scratch stack :18099)A merge with strategy=merge was run on a scratch repo whose head mimics the reported shape (branch containing main history + an extra merge + extra commits). Results:
GET …/api/commits?ref=mainlists it at the tip with 2 parents. No backend defect on the publish/list path.GET …/pulls/{n}/commits) isLogRange(base.SHA, head.SHA)— the merge commit is a child of base, so it can never appear there. This is documented design (docs/features/03_pull_requests.md:349:/:o/:r/pull/{num}/commits= commits ofbase…head), matching GitHub semantics. Not a bug.MergeBox.jsx:205(merged as {sha.slice(0,12)} by …) and the timeline merged event (pullEventText, pull-state.js:83). After merging, the user is shown a SHA with no path to reach it, so they go hunting in the commits list — where it structurally cannot be (PR tab).What's requested
Link the merge SHA to the commit page (
/:o/:r/commit/<sha>, route exists) at the MergeBox render site, so the commit is one click away post-merge. Out of scope (deliberately not changed): PR commits tab stays base…head per the documented contract; timeline system rows stay text-only (textFor contract shared across surfaces).Open question for the reporter
If the list checked was the repo main commits (not the PR tab) and the sha is still missing there, that path reproduces fine here — please confirm the PR's base ref and hard-refresh (the repo-shell summary entry is SWR-shared and can lag a fresh merge by its revalidation window).
Acceptance criteria
Fixed by #596 (merged): MergeBox merged SHA now links to the commit page (full SHA href, 12-char text, shared .link rule); single consumer verified, reasons/gate/buttons untouched. PR commits tab stays base…head per the documented contract. Verified: new test 4/4 (3 fail pre-fix), 1490 unit green (smoke excluded, pre-existing), vite/esbuild green, independent review APPROVE.