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

[HELP NEEDED] Current work on new architecture support #22

Merged

Conversation

zabojad
Copy link
Contributor

@zabojad zabojad commented Jun 23, 2023

Hi there !

I've tried to add support for both new and old architecture.

I'm facing the following issues:

  • on Android, the events are not passed through to view behind holes as it should. I'm getting errors below:
Unhandled SoftException
com.facebook.react.bridge.ReactNoCrashSoftException: Cannot find EventEmitter for receivedTouches: ReactTag[10] UIManagerType[2] EventName[topTouchStart]
	at com.facebook.react.uimanager.events.ReactEventEmitter.receiveTouches(ReactEventEmitter.java:103)
	at com.facebook.react.uimanager.events.TouchEvent.dispatchModern(TouchEvent.java:192)
	at com.facebook.react.uimanager.events.EventDispatcherImpl$DispatchEventsRunnable.run(EventDispatcherImpl.java:370)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
	at java.lang.Thread.run(Thread.java:1012)

This is probably due to the use of UIManager that is obsolete with Fabric:

        val uiManager = (context as ReactContext).getNativeModule(UIManagerModule::class.java)
        mEventDispatcher = uiManager!!.eventDispatcher

The question I don't have the answer yet is: what should be used instead with the new arch?

  • On iOS, the mask is applied to the RNHoleView but is not applied to the RNHoleView children (like the video in the sample app). I don't know why there is such a difference between Fabric and the previous renderer...

What should be done here with the new arch so that the mask is applied to the hole view component's children as well?

  • on iOS, the code that passes the props to the RNHoleView is note complete. onAnimationFinished prop is not managed and nullity on holes prop structure is not managed neither.

I need some help to fix above issues and finalize this PR...

Maybe @stephenkopylov or @3c133ps3d could give an hand here?

@zabojad
Copy link
Contributor Author

zabojad commented Jun 23, 2023

@zabojad
Copy link
Contributor Author

zabojad commented Jun 26, 2023

OK, we have now a fully functional Android version (both old and new architecture)

@stephenkopylov
Copy link
Member

@zabojad thank you so much for your PR - please give me few days to check and merge it!

@zabojad
Copy link
Contributor Author

zabojad commented Jun 28, 2023

@stephenkopylov don't merge it yet, I need to sort out few issue on iOS with new arch. That's why I've labelled it "Help needed" :)...

@zabojad
Copy link
Contributor Author

zabojad commented Jun 28, 2023

@stephenkopylov you can now review the PR in order to merge it. It works on both iOS and Android (with or without new arch) on my end...

@stephenkopylov stephenkopylov merged commit b19b72c into ibitcy:master Jun 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants