fix(client): focused TextInput is hidden by the soft keyboard on android #254
Labels
No labels
area:auth
area:ci
area:db
area:infra
area:native
area:pwa
area:service
epic
feature
foundation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
james/carol#254
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
On Android, when the soft keyboard opens to focus a
TextInput, the keyboard covers the bottom half of the screen and the user can't scroll the UI to see the field they're typing in. The focused input is obscured, and ScrollView's content area doesn't account for the keyboard's height.This is the classic React Native keyboard-avoidance gap — RN doesn't automatically push the focused field into view on Android (iOS has more native plumbing for this). The standard fix is to wrap form screens in
KeyboardAvoidingViewwithbehavior="padding"(or"height"on Android), or to usereact-native-keyboard-aware-scroll-viewwhich handles the inset + auto-scroll-to-focused-input in one shot.Affected screens (any with TextInput at or below the middle of the viewport):
/login/register/server-setup/(app)/profile(Basics card, contacts add row)/(app)/notes(create form)/(app)/skills(add-section, add-skill, rename inputs)/(app)/experience(Jobs, Education, Contracts edit forms)/(app)/account(PAT create form)Source
User-reported (June 2026).
Approach
Two options:
A.
KeyboardAvoidingViewon each screen. RN built-in, no new dep. Per-screen wrapping adds boilerplate.B.
react-native-keyboard-controllerorreact-native-keyboard-aware-scroll-view. Third-party libs that handle the cross-platform quirks + auto-scroll the focused input into view. Drop-in replacement forScrollView.Recommendation: B with
react-native-keyboard-controller— modern, actively maintained, ships withKeyboardAwareScrollViewthat handles iOS + Android consistently and auto-scrolls. The legacyreact-native-keyboard-aware-scroll-viewis also fine but less actively maintained. Bundle cost is acceptable for a load-bearing UX gap.Scope
react-native-keyboard-controller(or chosen lib) toapps/client/.ScrollViewwithKeyboardAwareScrollView(or equivalent).react-native-keyboard-controllerships a no-op web shim per its docs.Acceptance criteria
TextInputon Android scrolls the field into view above the keyboard.Out of scope
idea.md).Composes with