Skip to content

Keep Android new task composer above keyboard - #4388

Closed
colonelpanic8 wants to merge 2 commits into
pingdotgg:mainfrom
colonelpanic8:fix/android-composer-keyboard-positioning
Closed

Keep Android new task composer above keyboard#4388
colonelpanic8 wants to merge 2 commits into
pingdotgg:mainfrom
colonelpanic8:fix/android-composer-keyboard-positioning

Conversation

@colonelpanic8

@colonelpanic8 colonelpanic8 commented Jul 23, 2026

Copy link
Copy Markdown

What Changed

  • Replace the Android new-task screen’s padding-based keyboard avoidance with a bottom-anchored KeyboardStickyView.
  • Keep the draft composer attached to the IME while its focused editor expands upward.
  • Preserve the existing iOS keyboard-avoidance behavior.

Why

The Android new-task composer changes height as focus expands the collapsed prompt pill into a multiline editor with toolbar controls. The padding-based keyboard relayout could race that height change, leaving part of the editor and toolbar underneath Gboard.

Anchoring the Android composer directly to the keyboard makes the expansion grow upward and keeps the complete composer accessible while typing.

UI Changes

Before: With Gboard open and a multiline prompt, the lower portion of the composer can remain hidden behind the keyboard.

After: The expanded editor and its model/configuration/action row remain fully above Gboard, including at the editor’s maximum height.

Verified on a physical Pixel 9 Pro XL through wireless debugging, plus an Android 35 emulator. On the phone, the toolbar bottom moved from 1628 (inside Gboard) to 1363 (fully above Gboard’s 1399 top edge).

Physical-device evidence

Before After
Before: composer obscured by Gboard After: complete composer above Gboard

Watch the wireless-debugging interaction recording

Validation

  • vp check
  • vp run typecheck
  • vp run lint:mobile
  • vp run --filter @t3tools/mobile test — 92 files, 538 tests passed
  • Android 35 emulator with Gboard and a maximum-height multiline prompt

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • I included a short video for the keyboard interaction change

Note

Low Risk
Scoped Android UI/layout change in one screen, following an existing KeyboardStickyView pattern elsewhere in mobile; no auth, data, or API impact.

Overview
On Android, the new-thread draft screen no longer uses KeyboardAvoidingView with padding to lift the composer. The draft composer (surface, toolbar, gradient chrome) is wrapped in KeyboardStickyView with absolute bottom anchoring so it tracks the IME.

That change targets a race when the collapsed pill expands into a multiline editor: padding-based avoidance could leave the editor and toolbar under Gboard. Sticky anchoring lets height growth move upward while the bar stays above the keyboard.

iOS still uses the existing KeyboardAvoidingView layout; only the Android branch in NewTaskDraftScreen changes.

Reviewed by Cursor Bugbot for commit f5846bf. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Keep Android new task composer above the keyboard using KeyboardStickyView

On Android, the draft composer was previously laid out with KeyboardAvoidingView, which could leave the toolbar obscured by the keyboard. The composer is now wrapped in a KeyboardStickyView with absolute bottom positioning so it anchors to the bottom and rises with the IME. The non-Android path using KeyboardAvoidingView is unchanged.

Macroscope summarized f5846bf.

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7716d028-5f8c-42b2-afc7-83c0f18628a5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Jul 23, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

This is a self-contained Android UI fix that switches keyboard handling components (KeyboardAvoidingView → KeyboardStickyView) to keep the composer above the keyboard. The change restructures layout hierarchy without modifying business logic or introducing new functionality.

You can customize Macroscope's approvability policy. Learn more.

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 23, 2026
@colonelpanic8
colonelpanic8 force-pushed the fix/android-composer-keyboard-positioning branch 7 times, most recently from 82eee6c to 4e3aa7b Compare July 24, 2026 02:32

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4e3aa7b. Configure here.

Comment thread apps/mobile/src/features/threads/NewTaskDraftScreen.tsx Outdated
@colonelpanic8
colonelpanic8 force-pushed the fix/android-composer-keyboard-positioning branch from 4e3aa7b to 6a7e3c4 Compare July 24, 2026 05:57
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 24, 2026 05:57

Dismissing prior approval to re-evaluate 6a7e3c4

@colonelpanic8
colonelpanic8 force-pushed the fix/android-composer-keyboard-positioning branch 3 times, most recently from 7389b10 to e6eff76 Compare July 25, 2026 03:23
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 25, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 25, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 26, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
@colonelpanic8
colonelpanic8 force-pushed the fix/android-composer-keyboard-positioning branch from e6eff76 to 967ab35 Compare July 27, 2026 11:14
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 27, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 28, 2026
@colonelpanic8
colonelpanic8 force-pushed the fix/android-composer-keyboard-positioning branch from 967ab35 to 2b8c311 Compare July 28, 2026 02:07
@colonelpanic8
colonelpanic8 force-pushed the fix/android-composer-keyboard-positioning branch from 2b8c311 to f5846bf Compare July 28, 2026 02:50
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 28, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Jul 28, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Aug 10, 2026
colonelpanic8 added a commit to colonelpanic8/t3code that referenced this pull request Aug 10, 2026
@t3dotgg

t3dotgg commented Aug 23, 2026

Copy link
Copy Markdown
Member

Note

🤖 GPT-5.6 Sol responding on behalf of Theo

Closing this PR after an automated pass over open pull requests. The Android composer keyboard issue was fixed in #5986. Trusted alternative: #5060.

@t3dotgg t3dotgg closed this Aug 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants