Skip to content

Keep reasoning controls reachable in mobile model picker - #3417

Merged
ymichael merged 1 commit into
mainfrom
bb/keep-reasoning-controls-reachable-in-mobile-mode-thr_fui9ef6bbw
Sep 10, 2026
Merged

Keep reasoning controls reachable in mobile model picker#3417
ymichael merged 1 commit into
mainfrom
bb/keep-reasoning-controls-reachable-in-mobile-mode-thr_fui9ef6bbw

Conversation

@ymichael

Copy link
Copy Markdown
Collaborator

Human comments

What was wrong

The compact model picker let its model list grow without a height allocation while the entire drawer body handled scrolling. With long catalogs such as Pi’s 437 models, the list became roughly 15,800px tall and pushed Reasoning, fast-mode, and footer controls far below the visible drawer. The persistent drawer also did not account for software-keyboard overlap.

What changed

Make the compact picker a shrinkable flex column with the model list as its sole independently scrollable region. Provider controls and the reasoning/footer controls remain outside that scroller, while desktop retains its existing 256px list cap.

Teach the shared persistent drawer to measure Visual Viewport keyboard overlap, lift above it, and reduce its maximum height by the same inset. The existing close/reset path clears the inline keyboard styles, and the app-root/deferred-realization behavior is unchanged.

How you verified

  • Reproduced with the real Pi catalog at 390×844: 437 models produced a 15,806px list and placed Reasoning around y=16,036
  • After the fix, the list is capped at 567px on 390×844 and 314px on 320×568, with reasoning controls visible
  • Verified mobile touch scrolling, reasoning selection, search, keyboard selection, selected-item visibility, and drawer drag-to-close
  • Verified desktop long/short catalogs retain the existing 397px popover and 256px model-list cap
  • Verified the layout in WebKit with iPhone 15 emulation; iOS Simulator rendering was checked, but interactive taps were unavailable due local accessibility permissions
  • Full @bb/app suite passed: 502 files and 4,204 tests
  • Focused picker and responsive-overlay suites passed after formatting: 61/61
  • Turbo typecheck and lint passed for @bb/app and @bb/shared-ui
  • Targeted formatting and git diff --check passed

No linked issue.

AGENT GENERATED

The compact model picker let the whole drawer be one scroll container, so a
long catalog (Pi ships 437 models) pushed the Reasoning toggles ~15,000px
below the fold. Make the model list the only scroller inside the drawer and
pin the reasoning, fast-mode and footer rows beneath it, and let the
persistent drawer shrink above the software keyboard.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ymichael
ymichael force-pushed the bb/keep-reasoning-controls-reachable-in-mobile-mode-thr_fui9ef6bbw branch from e2be0c5 to 3008a45 Compare September 10, 2026 16:21
@ymichael
ymichael merged commit e08fdbd into main Sep 10, 2026
16 checks passed
@ymichael
ymichael deleted the bb/keep-reasoning-controls-reachable-in-mobile-mode-thr_fui9ef6bbw branch September 10, 2026 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant