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
feat: initial support for new architecture (fabric) #910
feat: initial support for new architecture (fabric) #910
Conversation
a6e9771
to
489b23b
Compare
@emilioicai @matinzd Can you have a look at the changes and the "Things to discuss" section? Just so that we can unblock the remaining work for this PR. |
|
fee25e5
to
1d21f10
Compare
@emilioicai @matinzd FYI, I moved the project to yarn workspaces to simplify our dependency handling between the lib and the examples. Let me know what you think about that change. Unfortunately I am still unable to solve the new architecture issue - I hope to get some help from the RN team in the next few weeks. |
Thanks @AlexanderEggers ! I will check it out ASAP. |
@emilioicai @matinzd - can you have a look at the current changes in this branch? I am still blocked on that mentioned startup crash but I am hopening that maybe you can verify if my current setup looks fine and is not missing anything. Steps to run the project:
Let me know if you are facing any issues. |
Hey @AlexanderEggers , sure, I'll have a look into it |
@emilioicai @matinzd I finally managed to get android working via fabric. 🎉 The animation seems to run fine and the basic props are working. I will need to figure out something for the color filter and text filter props. |
@emilioicai @matinzd I already found some little time to also have a look at android paper and I was able to verify that paper ios and android is still working fine with the latest changes I made for android fabric. It would be great if you could review this PR. I think we are ready for an initial alpha version which just includes Android support for now. iOS should follow in the near future when I find enough time. Let me know if you have any questions/issues. |
@emilioicai I am unable to test if windows is still working fine with the latest js changes. Would you be able to do some testing around that? |
Thanks, @AlexanderEggers! |
This commit also includes a bunch of additional simplifications for the fabric-example project.
@matinzd I did a bit more testing and I wasn't able to reproduce your issue. The only thing I found were duplicated .so files when building fabric-android. I resolved that as part of my most recent commits. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Hey, this looks awesome, great job @AlexanderEggers 👏 How can we help move this PR forward? 🙏 |
@AlexanderEggers, please let us know if testing it would help you unblock the PR |
@alfonsocj The android integration still needs a bit of testing to verify that this implementation is actually stable. The iOS part is still missing and unfortunately something I haven't had the time to get started with. |
@AlexanderEggers thanks for the update! Are you planning on having a separate PR for iOS? I can try to tackle iOS based on the codegen work you've already done here. I have some experience adding fabric support for iOS as I did that for react-native-datetimepicker |
Is there a temporary workaround ? |
@BloodyMonkey, the new architecture is optional. If you are blocked by this you can disable the new architecture (which is disabled by default). If your app broke after upgrading RN then it sounds like a different problem than the new arch. |
@alfonsocj I think we should get this PR merged first before we start any real iOS work - just to avoid any larger merge conflicts. I will probably have some time in around 2 weeks to get started or help on the iOS work. If you keen to get started with that already in a differeny PR, that would be great 🙂 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was on vacation for a week but I tested the latest changes last week with both Android and iOS. It seems that the issue with Android is fixed and we can merge this to avoid any further conflict.
/cc @emilioicai
When will this be released? |
If there are no other features or fixes in master, I think we should wait until the iOS support for the new architecture gets merged for a new release. @emilioicai what do you think? |
agreed, this kinda blocks fixes for other issues but I think we better wait for that merge. That gives us more time to test this one |
do you have an idea of how long it will be until a next release? @alfonsocj @emilioicai |
@norbusonam I think we are waiting on fixing these issues before releasing it:
I don't have a lot of time right now to look at those. I believe @matinzd will be looking at those when he has some time. If you have time to solve those, contributions are welcome! |
Do you have an idea how long we need to wait for the new architecture (fabric) support in ios? @alfonsocj @emilioicai |
Hi @richierich1508, |
This is the basic fabric integration for Android. I used a very basic fabric project to verify that the most basic props are working on both platforms - but that requires more testing to verify each and every permutation.
Changes made in this PR
New project setup
You need to follow these steps to run the new monorepo structure:
yarn install
in the root folder of the project to install all dependenciesyarn setup
in the root folder of the project to build the library output files which are going to be consumed by third party projects (and examples).yarn fabric:android
- android example project running fabricyarn fabric:ios
- ios example project running fabricyarn paper:android
- android example project running paperyarn paper:ios
- ios example project running paper