Skip to content

Remove react-native-keyboard-controller 1.21.0 patch once upstream fix is released #2581

@esimkowitz

Description

@esimkowitz

Context

react-native-keyboard-controller's replaceStatusBarInsets() zeroes out the top system bar inset when statusBarTranslucent=true. With edgeToEdgeEnabled=true (Expo 54 default), KeyboardProvider forces statusBarTranslucent=true regardless of props, so the top inset is always zeroed before being dispatched to child views. This causes react-native-screens' CustomToolbar to receive top=0 and apply no status bar padding, making the header overlap the status bar on Android.

We applied a pnpm patch to react-native-keyboard-controller that always passes through the real sysBars.top. The content margin in setupWindowInsets() already handles the layout offset independently.

The patch was added in #2523.

Action

Once a fix is released upstream in react-native-keyboard-controller:

  1. Upgrade react-native-keyboard-controller in apps/mobile/package.json to the version containing the fix
  2. Remove patches/react-native-keyboard-controller@1.21.0.patch
  3. Remove the react-native-keyboard-controller@1.21.0 entry from patchedDependencies in root package.json
  4. Run pnpm install and verify on Android

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions