From bdb6d144c31b4fcf384eea70f146c2db771506aa Mon Sep 17 00:00:00 2001 From: Jinjing <6427696+AmethystLiang@users.noreply.github.com> Date: Fri, 3 Jul 2026 19:38:24 -0700 Subject: [PATCH] Pin the new tab button outside the tab scroll view (#7292) Move the "New tab" button out of ScrollView so that it remains visible and reachable regardless of how far the tabs have been scrolled. --- .../app/h/[hostId]/session/[worktreeId].tsx | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/mobile/app/h/[hostId]/session/[worktreeId].tsx b/mobile/app/h/[hostId]/session/[worktreeId].tsx index b0c766cb2..994798712 100644 --- a/mobile/app/h/[hostId]/session/[worktreeId].tsx +++ b/mobile/app/h/[hostId]/session/[worktreeId].tsx @@ -4571,28 +4571,27 @@ export default function SessionScreen() { ))} - [ - styles.newTerminalButton, - pressed && styles.newTerminalButtonPressed, - (creating || - creatingBrowser || - creatingMarkdown || - connState !== 'connected') && - styles.newTerminalButtonDisabled - ]} - disabled={ - creating || creatingBrowser || creatingMarkdown || connState !== 'connected' - } - onPress={() => { - setCreateError('') - setShowCreateTabDrawer(true) - }} - accessibilityLabel="New tab" - > - - + {/* Why: pinned outside the scroll strip so the new-agent button + stays reachable no matter how far the tabs scroll. */} + [ + styles.newTerminalButton, + pressed && styles.newTerminalButtonPressed, + (creating || creatingBrowser || creatingMarkdown || connState !== 'connected') && + styles.newTerminalButtonDisabled + ]} + disabled={ + creating || creatingBrowser || creatingMarkdown || connState !== 'connected' + } + onPress={() => { + setCreateError('') + setShowCreateTabDrawer(true) + }} + accessibilityLabel="New tab" + > + + )}