In login screen, visit Github's login url with a callback schema by WebView and listen to onNavigationStateChange
Before #323, use Linking in Android and react-native-safari-view in iOS, then listen on Linking in both platforms
Why still listening on Linking in Android? Because in Android, we have a can't login button
If succeed to login, it will,
jump to the schema, gitpoint://welcome, which means the welcome screen
trigger onNavigationStateChange to get the auth, and navigate to Main
I guess the stack navigator guarantees the main screen will always on the top of the welcome screen.
Problem
I tested different versions of codes and found that starting from #883, with RN 0.59,
In iOS, onNavigationStateChange is not triggered for the schema
In Android, every onNavigationStateChange is triggered but Main can't cover Welcome
Users will be blocked by the welcome screen after login in. The workaround is killing the app and open again. It has logged in so will navigate to the main screen at the second time.
Related
No tag for v1.6.0, according to translation texts, it should be > 1716618 and < ecb61fa
The most likely commit is 67a17ae
Used try to make Welcome be able to navigate to Main(35e4a08)
Works well in iOS, it will only try to auth in the welcome screen
But in Android, it will try to auth twice (both in login and welcome screen)
Future direction should be replacing the WebView login with native implementations.
Backgrounds
The current designed login process,
onNavigationStateChange
Linking
in Android andreact-native-safari-view
in iOS, then listen on Linking in both platformscan't login
buttongitpoint://welcome
, which means the welcome screenMain
I guess the stack navigator guarantees the main screen will always on the top of the welcome screen.
Problem
I tested different versions of codes and found that starting from #883, with RN 0.59,
Users will be blocked by the welcome screen after login in. The workaround is killing the app and open again. It has logged in so will navigate to the main screen at the second time.
Related
Welcome
be able to navigate toMain
(35e4a08)Future direction should be replacing the WebView login with native implementations.