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

Support for new architecture and bridgeless #879

Open
5 tasks done
brentvatne opened this issue Mar 13, 2024 · 5 comments
Open
5 tasks done

Support for new architecture and bridgeless #879

brentvatne opened this issue Mar 13, 2024 · 5 comments
Labels
feature request A feature has been asked for or suggested by the community

Comments

@brentvatne
Copy link

brentvatne commented Mar 13, 2024

Checklist

  • I have looked into the Readme, Examples, and FAQ and have not found a suitable solution or answer.
  • I have looked into the API documentation and have not found a suitable solution or answer.
  • I have searched the issues and have not found a suitable solution or answer.
  • I have searched the Auth0 Community forums and have not found a suitable solution or answer.
  • I agree to the terms within the Auth0 Code of Conduct.

Describe the problem you'd like to have solved

Hi there! I'm working on supporting the roll out of the new architecture + bridgeless with Expo and Meta, and as part of that we identified which are the most popular native libraries on EAS Build to help prioritize which libraries to investigate. react-native-auth0 came up on that list. See the list on Google Sheets (request edit access if you'd like to update the status of react-native-auth0 after testing, or if you prefer to report back here on this issue it's fine too).

We want to start recommending folks try out the new architecture in the next release, react-native 0.74 / Expo SDK 51. Ideally we can get the ecosystem ready to switch over to the new architecture within the next few releases. So, we'll have from now until 0.74 release (before May) to give meta feedback on anything that might not be working as expected with the new arch/bridgeless enabled.

Folks at Meta would really appreciate it if you could test your libraries against the latest release and report any issues that you find. This new version enables an interop layer by default, so hopefully many things will just work, but the more off of the beaten path of a simple module / view that a library goes the more likely it is to encounter possible issues ;) The following gist includes a step by step process for how to test your library and report issues: https://gist.github.com/cipolleschi/82b7a9561b8861330efabbd3eb08c6f5.

Describe the ideal solution

react-native-auth0 works correctly with the new architecture enabled or disabled, and with bridgeless enabled or disabled, using React Native 0.74. More info in: https://gist.github.com/cipolleschi/82b7a9561b8861330efabbd3eb08c6f5.

Alternatives and current workarounds

No response

Additional context

No response

@brentvatne brentvatne added the feature request A feature has been asked for or suggested by the community label Mar 13, 2024
@chriszs
Copy link

chriszs commented Apr 12, 2024

Still experiencing #804, which was won't-fixed because New Arch was in beta. Believe New Arch will be the default in the React Native release after this one.

@brentvatne
Copy link
Author

@chriszs - that's the plan! for any maintainers here, please refer to reactwg/react-native-new-architecture#167 for more context

@kibiz0r
Copy link

kibiz0r commented Apr 18, 2024

@brentvatne If I grok that spreadsheet correctly, Auth0 is one of only 10 unique maintainers among the top 400 packages that hasn't started on new arch support?

@poovamraj Can we get this prioritized?

@chriszs
Copy link

chriszs commented Apr 19, 2024

As a test, I upgraded the example app to the latest 0.74 RC using the Test Your Library guide, enabled new arch (newArchEnabled=true) and then deleted the codegenConfig config key from package.json per the Interop Layer test instructions (since I didn't see TurboModule specs). That is, all I did was this:

  },
-  "codegenConfig": {
-    "name": "RNAuth0Spec",
-    "type": "modules",
-    "jsSrcsDir": "src"
-  },
  "husky": {

The example appears to work correctly on Android using 0.74 and new arch, though I haven't thoroughly tested it and it's possible I'm missing something.

This obviously isn't a full conversion to a TurboModule, it doesn't ensure compatibility with new arch on lower versions of React Native (unless the Interop Layer is explicitly enabled) and supposedly some day the Interop Layer will go away, but it does appear to work as a first step.

I wonder if a two-step approach would be to delete the codegen config, ensure the interop layer works, and then do a full conversion at a later date.

@brentvatne
Copy link
Author

@chriszs - I think that is a good approach! we're recommending releasing interop layer compat first, then migrating when you have time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request A feature has been asked for or suggested by the community
Projects
None yet
Development

No branches or pull requests

3 participants