Skip to content

fix(mobile): keep chat composer above the Android gesture bar - #5988

Merged
maria-rcks merged 1 commit into
pingdotgg:mainfrom
PollyGlot:fix/android-chat-composer-safe-area
Aug 11, 2026
Merged

fix(mobile): keep chat composer above the Android gesture bar#5988
maria-rcks merged 1 commit into
pingdotgg:mainfrom
PollyGlot:fix/android-chat-composer-safe-area

Conversation

@PollyGlot

@PollyGlot PollyGlot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

What Changed

Key the chat composer's bottom safe-area padding on keyboard visibility (useKeyboardState) instead of editor focus. This matches the convention already used by NewTaskDraftScreen.

Why

ThreadDetailScreen zeroed composerBottomInset whenever the composer was expanded, assuming an expanded (focused) composer always has the keyboard under it. On Android the back gesture closes the keyboard without blurring the editor, so the composer stayed expanded with zero bottom padding and the toolbar row (+, model picker, send) landed under the gesture navigation bar.

UI Changes

Tested on a Pixel emulator (API 35, gesture navigation), dev client + Metro, paired to a local backend.

Screenshots

Before (expanded, keyboard closed) After (expanded, keyboard closed)
before: toolbar under the gesture bar after: toolbar clears the gesture bar
After: keyboard open (composer still rides the keyboard, no gap)
After: collapsed composer (unchanged)

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes

🤖 Generated with Claude Code


Note

Low Risk
Single-screen layout tweak with no auth, data, or API changes; behavior is limited to composer padding on mobile.

Overview
Thread detail chat composer bottom safe-area padding now follows keyboard visibility (useKeyboardState) instead of whether the composer is expanded.

On Android, dismissing the keyboard with the back gesture can leave the editor focused while the keyboard is hidden; tying inset to expansion zeroed bottom padding and pushed the toolbar under the gesture navigation bar. When the keyboard is open, inset stays at zero so the composer still sits flush on the keyboard; when it is closed, normal bottom inset is restored—matching NewTaskDraftScreen.

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

Note

Fix chat composer position above Android gesture bar in ThreadDetailScreen

The composerBottomInset in ThreadDetailScreen.tsx was previously set to 0 when the composer was expanded, which caused it to overlap the Android gesture bar. It now uses keyboard visibility instead: 0 when the keyboard is visible, Math.max(insets.bottom, 12) otherwise.

Macroscope summarized becc7d0.

The thread composer zeroed its bottom safe-area padding whenever the
editor was focused, assuming the keyboard covers that area. On Android
the back gesture closes the keyboard without blurring the editor, so
the toolbar row (+, model picker, send) landed under the gesture bar.

Key the padding on keyboard visibility instead of focus, matching the
convention already used by NewTaskDraftScreen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 10, 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: 05a2ee7a-3b37-4936-a78a-507c8cf6ae93

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

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 Aug 10, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved becc7d0

Straightforward Android bug fix that changes the condition for bottom safe area padding from focus state to keyboard visibility state. The change is small, well-commented, uses an existing library hook, and has no broader runtime implications beyond fixing the toolbar positioning edge case.

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

@maria-rcks
maria-rcks merged commit e5c82d7 into pingdotgg:main Aug 11, 2026
18 checks passed
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Aug 11, 2026
## What's Changed
* fix(mobile): keep chat composer above the Android gesture bar by @PollyGlot in pingdotgg/t3code#5988
* fix(server): OpenCode model parsing drops models with a slash in the JSON body by @arhxam in pingdotgg/t3code#5072
* fix(web): persist sidebar shelf collapse state by @PixPMusic in pingdotgg/t3code#5136
* perf(web): skip base64 for oversized image candidates by @tarik02 in pingdotgg/t3code#5220
* fix(server): skip Linux libc detection on Windows/macOS by @bkntr in pingdotgg/t3code#5354
* fix(server): advertise 256-color TERM on Windows terminals by @yassiEmp in pingdotgg/t3code#5693
* fix(server): handle unborn HEAD in VCS status by @t3-code[bot] in pingdotgg/t3code#5944

## New Contributors
* @bkntr made their first contribution in pingdotgg/t3code#5354
* @yassiEmp made their first contribution in pingdotgg/t3code#5693

**Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260811.1063...v0.0.34-nightly.20260811.1064

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260811.1064
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