HomePhabricator
Diffusion Comm 6bdaaab806e7

[native] Add cached user selection state into RegistrationContext

Description

[native] Add cached user selection state into RegistrationContext

Summary:
This addresses ENG-4043. Basically we want to be able to preserve the state for a screen after going back and then navigating to the screen again. For instance, if the user has entered their password but wishes to revise their username, we want them to be able to go back without losing their already-typed-in password.

I initially tried replacing the React Navigation state with this new state, but then realized that since React Navigation state is persisted in dev mode, but RegistrationContext state is not, we could get in a place (only in dev mode) where data necessary for rendering the current screen is not available in RegistrationContext. As a result, this state is being introduced ONLY for "preseeding" initial state when screens are first rendered.

Depends on D8153

Test Plan: I tested going back for every screen after setting values (and proceeding). In some cases, a simple selection was enough to update cached state; in those cases, I also tested without "proceeding" (ie. pressing "Next")

Reviewers: atul, ginsu

Reviewed By: atul

Subscribers: tomek

Differential Revision: https://phab.comm.dev/D8154

Details

Provenance
ashoatAuthored on Jun 8 2023, 11:47 AM
Reviewer
atul
Differential Revision
D8154: [native] Add cached user selection state into RegistrationContext
Parents
rCOMMac4273c9cb0d: [native] Update registrationMode from state to ref
Branches
Unknown
Tags
Unknown