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

Use React Navigation to handle Deeplinks #4679

Open
1 task done
iuricmp opened this issue May 12, 2023 · 1 comment
Open
1 task done

Use React Navigation to handle Deeplinks #4679

iuricmp opened this issue May 12, 2023 · 1 comment

Comments

@iuricmp
Copy link
Contributor

iuricmp commented May 12, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Berty product

Mobile app

Feature request

Berty's application has code to handle Deeplink in stacks.tsx.
This code has a medium complexity and is exposed to bugs on every ios/android upgrade version.
It could be better if we used the React Navigation library that already exists in Berty to support Deeplink. The React Navigation Library already has some workarounds to suppress the ios/android upgrade bugs mentioned above and is well maintained by the community.

I tried replacing the existing code and using React Navigation Deeplink support, but I ran into some difficulties that I'd like to expose below.

One of the tricky points is the fact that there is a lot of business logic tied to the screens. So once you get Deeplink through React Navigation Library, you can't navigate directly to a screen. The current code requires you to go through the Setup Node screen and then navigate to the Deeplink screen. And there are a lot of business processes that happen inside each screen.

My suggestion is about to remove all business logic from the screens so that we can move from one screen to another without any dependency. All business logic must be in a layer decoupled from the screens.
After doing this screen "cleanup", we could use React Native Library to support Deeplink.

Context

Reducing the code complexity and improving the App resilience.

Possible implementation

No response

@jefft0
Copy link
Collaborator

jefft0 commented Jul 7, 2023

Not causing a critical problems with the App right now. Put in backlog as lower priority.

@jefft0 jefft0 added the backlog label Jul 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants