From 0a99952cc43142a245df7a34b66baaf1872b14f2 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Wed, 29 Jul 2026 22:52:12 -0400 Subject: [PATCH] fix: disable the Interrupt & steer menu row while paused on approval MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit interruptSteer hard-refuses when the run is paused for tool approval, but the hovercard row was never gated, so it rendered enabled and clicking it did nothing at all — no chip, no queue entry, no toast — at exactly the moment a user is trying to say "stop, don't run that command". The standalone button already gates on pausedOnApproval; the row contradicted it. Gated on pausedOnApproval rather than !canSteer like the steer row above, because canSteer is also false before a conversation exists, where interruptSteer deliberately falls back to interruptAndSend and the row must stay live for the whole first turn. Tests pin both directions and were verified counterfactually: removing the gate fails the paused case, and using !canSteer fails the first-turn case. --- .../Chat/Input/DuringRunSendButton.tsx | 5 + .../__tests__/DuringRunSendButton.test.tsx | 122 ++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 client/src/components/Chat/Input/__tests__/DuringRunSendButton.test.tsx diff --git a/client/src/components/Chat/Input/DuringRunSendButton.tsx b/client/src/components/Chat/Input/DuringRunSendButton.tsx index b2e5eae86c..1bcb7183b9 100644 --- a/client/src/components/Chat/Input/DuringRunSendButton.tsx +++ b/client/src/components/Chat/Input/DuringRunSendButton.tsx @@ -92,6 +92,11 @@ const DuringRunSendButton = React.memo( label: localize('com_ui_interrupt_steer'), kbd: modShiftEnter, icon: