diff --git a/apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx b/apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx
index 1466e726b60fa90b3f5942908bb9e25f85df0f4d..1a36fb94a37b7ccd07aae7f996dbad05851b696d 100644
--- a/apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx
+++ b/apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx
@@ -1648,10 +1648,10 @@ export function PullRequestDetailPanel({
actions={
handoffSummary ? (
- {checkoutControl}
{handoffSummary.state === "open" && handoffSummary.mergeability === "conflicting"
? resolveConflictsControl
: null}
+ {checkoutControl}
) : undefined
}
@@ -1864,7 +1864,6 @@ export function PullRequestDetailPanel({
threadRef={null}
/>
) : null}
- {checkoutControl}
{/* Said where the Merge button is, because it is the answer to why nobody has
pressed it: the merge is already asked for, and the host is holding it. */}
{autoMergeArmed && primaryAction !== "auto-merge-armed" ? (
@@ -1997,6 +1996,9 @@ export function PullRequestDetailPanel({
) : null}
+ {/* Keep checkout beside the menu so host actions arriving on its left cannot
+ move a different action under the reader's pointer. */}
+ {checkoutControl}