Page MenuHomePhabricator

[native] Disable detachInactiveScreens on iOS for RootNavigator
ClosedPublic

Authored by ashoat on Dec 23 2020, 8:20 AM.
Tags
None
Referenced Files
F3360816: D551.id1534.diff
Sun, Nov 24, 2:35 PM
F3360131: D551.diff
Sun, Nov 24, 12:07 PM
F3359982: D551.id.diff
Sun, Nov 24, 11:48 AM
Unknown Object (File)
Thu, Nov 21, 9:05 PM
Unknown Object (File)
Thu, Nov 21, 9:05 PM
Unknown Object (File)
Thu, Nov 21, 9:05 PM
Unknown Object (File)
Thu, Nov 21, 9:02 PM
Unknown Object (File)
Thu, Nov 21, 5:14 AM

Details

Summary

We have three StackView-based navigators (Chat, More, and RootNavigator), and after we updated our React Nav libs in D402, they all default to using react-native-screens to detach inactive screens.

This unfortunately causes issues with keyboard interactions. I first noticed the issues in the Chat navigator in D402, which is why I set detachInactiveScreens for Chat there. I noticed the issues in More later, and addressed them in D445.

I never made the connection that this causes issues in RootNavigator as well. This diff sets detachInactiveScreens for RootNavigator on iOS.

Unfortunately this means we have to roll back the v71 iOS release, but we can proceed with the Android release. I'll make a new v72 release for iOS only.

Test Plan

Before this diff, when trying to create a new calendar entry on iOS (either simulator/debug or device/release), the keyboard gets dismissed and the entry gets immediately deleted. After this diff, everything works correctly

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable