3aba90b58a
Summary: We are seeing some non-trivial amount of crashes happened because `[RCTSurfacePresenter synchronouslyUpdateViewOnUIThread:props:]` requests a Component Descriptor which does not register in the registry. And the problem here is that ComponentDescriptors are not being designed to be used outside of C++ UIManager, and we only use that in RCTSurfacePresenter only because it's an old workaround that makes Native Animation Driver works with Fabric. Messing with ComponentDescriptors are in general dangerous. Accessing them outside of UIManager means that they might be deallocated at any time, extending their lifetime will cause other crashes on the other side. So, that's why this is "BROKEN". This diff does not make the code worse, it just designates the problem that was there for a long time, so it kinda makes it better. We don't know for sure why some ComponentDescriptors are not registered but this diff at least makes it not crash in such case. Changelog: [Internal] Fabric-specific internal change. Reviewed By: JoshuaGross Differential Revision: D18869651 fbshipit-source-id: 9d945ac7a2bd24a69a9bbb83b4fdd3cd19808f87 |
||
---|---|---|
.. | ||
better | ||
callinvoker | ||
config | ||
cxxreact | ||
fabric | ||
hermes/inspector | ||
jsi | ||
jsiexecutor | ||
jsinspector | ||
microprofiler | ||
turbomodule | ||
utils | ||
yoga | ||
React-Fabric.podspec | ||
ReactCommon.podspec | ||
common.mk |