diff --git a/.pr-screenshots/pr9979-supported-button.png b/.pr-screenshots/pr9979-supported-button.png deleted file mode 100644 index 4ea729ee4d1..00000000000 Binary files a/.pr-screenshots/pr9979-supported-button.png and /dev/null differ diff --git a/.pr-screenshots/pr9979-supported-sheet.png b/.pr-screenshots/pr9979-supported-sheet.png deleted file mode 100644 index cc944bdea56..00000000000 Binary files a/.pr-screenshots/pr9979-supported-sheet.png and /dev/null differ diff --git a/.pr-screenshots/pr9979-unsupported-update-toast.png b/.pr-screenshots/pr9979-unsupported-update-toast.png deleted file mode 100644 index b3e519cffa5..00000000000 Binary files a/.pr-screenshots/pr9979-unsupported-update-toast.png and /dev/null differ diff --git a/mobile/app/h/[hostId]/session/[worktreeId].tsx b/mobile/app/h/[hostId]/session/[worktreeId].tsx index 1158c7fb2de..ceab31312b8 100644 --- a/mobile/app/h/[hostId]/session/[worktreeId].tsx +++ b/mobile/app/h/[hostId]/session/[worktreeId].tsx @@ -4514,7 +4514,7 @@ export default function SessionScreen() { > - {/* Why: always render so the tab row never shifts while capabilities load; the tap explains unsupported/probing hosts instead. Old hosts strip agentPrompt, so the sheet only opens once support is confirmed. */} + {/* Why: stable placement matters, while old hosts must stay gated because they strip agentPrompt. */} { + it('keeps the button mounted while preserving the capability gate', () => { + const tabSource = getQuickCommandsTabSource() + + expect(tabSource).toContain(' { + expect(source).toContain('visible={showQuickCommands && quickCommandsSupported === true}') + }) +})