Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Login problem since RN 0.59 #913

Open
chinesedfan opened this issue Nov 9, 2019 · 0 comments
Open

Login problem since RN 0.59 #913

chinesedfan opened this issue Nov 9, 2019 · 0 comments
Labels

Comments

@chinesedfan
Copy link
Member

chinesedfan commented Nov 9, 2019

Backgrounds

The current designed login process,

  1. In login screen, visit Github's login url with a callback schema by WebView and listen to onNavigationStateChange
    • Before feat(auth): use WebView for authentication #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
  2. If succeed to login, it will,
    1. jump to the schema, gitpoint://welcome, which means the welcome screen
    2. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant