fix(mobile): stop the iOS model chip from sitting on the editor - #11944
derektrimm wants to merge 1 commit into
Conversation
Tapping GPT-6-Astra on iPhone selected the composer (Paste/AutoFill) instead of opening Thread Settings. The settings row was position:absolute over the native UITextView, and Reanimated layout morphs on that host can leave the editor's hit box covering the chip. Mount the row in flow only, never as an overlay, and drop the layout animation on the editor wrapper.
| ) : null} | ||
| {isExpanded ? <View className="h-1" /> : null} | ||
| </ComposerDictationDraftContent> | ||
| {settingsToolbar.mount ? ( |
There was a problem hiding this comment.
🟡 Medium threads/ThreadComposer.tsx:907
When dictation is active while the composer is collapsed, the hidden editor still occupies its 36px layout height, so mounting the toolbar in normal flow produces an approximately 80px surface with a blank, non-interactive gap instead of the compact dictation strip. Keep the toolbar absolutely overlaid for this state, as the previous !isExpanded layout did.
🤖 Copy this AI Prompt to have your agent fix this:
In file @apps/mobile/src/features/threads/ThreadComposer.tsx around line 907:
When dictation is active while the composer is collapsed, the hidden editor still occupies its 36px layout height, so mounting the toolbar in normal flow produces an approximately 80px surface with a blank, non-interactive gap instead of the compact dictation strip. Keep the toolbar absolutely overlaid for this state, as the previous `!isExpanded` layout did.
ApprovabilityVerdict: Would Approve Macroscope's review found this PR approvable — This is a narrowly scoped iOS composer bug fix that removes the settings-toolbar overlay and adds focused state coverage, with no schema, infrastructure, security, billing, or static-analysis impact. An unresolved Medium finding identifies a concrete layout regression during collapsed dictation, so that correctness issue remains a separate blocking concern despite the otherwise limited change scope. Not approved because:
Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe composer now uses a helper to determine when the settings toolbar mounts and whether it overlays the editor. The toolbar does not overlay the editor, and layout transitions were removed from the editor wrapper and toolbar. ChangesComposer toolbar layout
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The toolbar layout change preserves the intended composer behavior without a verified remaining merge-blocking risk. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
What Changed
Tapping GPT-6-Astra on iPhone selected the composer (Paste/AutoFill) instead of opening Thread Settings. The settings row was
position: absoluteover the nativeUITextView, and Reanimated layout morphs on that editor host can leave the editor's hit box covering the chip.Mount the settings row in normal flow only, never as an overlay, and drop the layout animation on the editor wrapper.
Device: iPhone 14 Pro Max, iOS 26.7, T3 Code alpha.
Screen recording: tapping GPT-6-Astra shows Paste/AutoFill. Thread Settings never opens.
https://github.com/derektrimm/t3code/releases/download/ios-model-chip-repro/t3-iphone-astra-tap.mp4
This replaces the closed swipe-latch attempt: #11758
Closes #11987
Why
iOS native views win hit testing against overlapping RN siblings. A chip laid out over the composer is a text selection, not a button.
UI Changes
The collapsed composer no longer parks an invisible 44px toolbar on top of the editor. The model row appears under the prompt when the draft is expanded, the same two-row layout as an already-focused composer.
Checklist