You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: "Merge stack" appears late and pushes the stack picker out from under the cursor #25993
The picker jumps 105 px left about 0.7 s after a layer switch (1280×800). The linked-threads button also swaps sides of the merge action between single and stacked PRs.
Merge stack only renders once the stack query is fresh (PullRequestDetailPanel.tsx:1304), but the picker renders from cached data. The row is right-aligned, so the late button pushes the picker.
PullRequestStackMenu renders Merge stack next to the picker (PullRequestStackMenu.tsx:202) instead of in the Merge slot, which is why the order differs.
Impact
Minor bug or occasional failure
Version or commit
30f4d63 (dev build); the affected files are unchanged on e923627.
Environment
Linux, Chromium, GitHub stacked PRs made with gh stack.
Screenshots, recordings, or supporting files
merge-stack-misclick.mp4
Single PR
Stacked, loading
Stacked, loaded
Proposed fix
Which would you accept?
GitHub's layout: move the stack picker to the left, next to the PR status, and render Merge stack in the Merge slot.
Smaller: render Merge stack in the Merge slot, and keep it mounted but disabled while the stack refreshes.
Both give stacked and single PRs one header order and keep Merge stack disabled until the stack is fresh.
Single PRs are affected too. While the stack lookup runs, allowsSinglePullRequestMerge is false and Merge is not rendered at all, so it pops in next to Check out once the lookup finishes. Mobile already keeps its merge button visible and disabled ("Checking stack membership…") during that window.
Activity
GisTypical commentedon Oct 27, 2026
Single PRs are affected too. While the stack lookup runs,
allowsSinglePullRequestMergeis false and Merge is not rendered at all, so it pops in next to Check out once the lookup finishes. Mobile already keeps its merge button visible and disabled ("Checking stack membership…") during that window.fix(web): PR merge buttons stay in place while the stack loads
fix(web): PR merge buttons stay in place while the stack loads