-
Notifications
You must be signed in to change notification settings - Fork 578
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 Hermes #3792
Support Hermes #3792
Conversation
src/hermes/jsi/jsi.h
Outdated
/// Moves a Symbol, String, or Object rvalue into a new JS value. | ||
#if 0 | ||
template <typename T> | ||
#else // XXX Realm modification | ||
template <typename T, typename = std::enable_if_t< | ||
!std::is_reference_v<T> && | ||
(std::is_base_of<Symbol, T>::value || | ||
std::is_base_of<String, T>::value || | ||
std::is_base_of<Object, T>::value) | ||
>> | ||
#endif | ||
/* implicit */ Value(T&& other) : Value(kindOf(other)) { | ||
static_assert( | ||
std::is_base_of<Symbol, T>::value || | ||
std::is_base_of<String, T>::value || | ||
std::is_base_of<Object, T>::value, | ||
"Value cannot be implicitly move-constructed from this type"); |
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.
For now I've modified this to move the error out of the function to overload resolution. This results in much better error messages when I screw up. Before considering this "done" I'll want to either replace this file with a clean copy from upstream, or ideal set up the build so that we just use theirs without our own copy. But for now, it is nice having this modification in place.
Also, I plan to open a PR to do this upstream, so maybe we can have the best of both worlds.
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.
FYI: facebook/hermes#526
How’s it going guys? Can’t tell you how excited the community is for this feature…may the force be with you all 🙏🙏 |
Sorry for off topic, but the main thread is locked, and I think it is important for people to have backup plan, if they decide to migrate out of Realm to another DB and save their users data #3819 . |
We are also following this thread closely. Any news? |
We have it working on iOS, but have been running into issues on android. There is some indication that our android issues may be fixed by facebook/react-native@24f9f75 (since the old version of libfbjni seems to break parts of the C++ stdlib), but it is only in the 0.65 RCs and not in a released version yet. |
Thank you @RedBeard0531 for sharing the update. I'm curious to know, is it possible to have two separate releases, one for iOS and another for Android? Considering we have achieved support for iOS, maybe we can push a release for iOS now and later for Android. It will allow us to migrate our iOS apps to Hermes. Thanks |
That is actually a great idea |
@RedBeard0531 Its obvious but would like you to clarify, the version of realm that you are adding hermes support to, is the mongodb-realm version? Many folks have migrated to mongodb-realm after we were told Oct 2021 is end of support for traditional realm. |
The availability of 0.65.0 RC3 means that 0.65.0 is getting closer to be released. Is Hermes support for Android already available for testing with RN 0.65.0 RC3? |
It's kind of hard to believe that every React-Native app which uses Realm cannot currently produce a nice performance profile using Hermes. Profiling React-Native without Hermes is a mess. |
Would be very helpful if you can plan a separate Hermes support release for iOS and Android. It will allow us to port our iOS apps first. Please let us know your thoughts on the same. Thanks, |
Fixed RN build issues on `build` step on Jenkins.
Since they're incompatible with RC 0.66.0.
611d440
to
86188a2
Compare
Closing this PR (and its branch) as we've now released two alpha releases and a third is expected any day. We will be releasing from this |
We've released a new version of Realm JS with support for the Hermes engine: Realm JS v10.20.0-alpha.2. Please take it for a spin and provide any feedback or issues you might have using the Hermes issue template:
|
What, How & Why?
🚧 WARNING 🚧
This is still a WIP, and there are still several TODOs and XXXs that will need to be addressed. Many parts of the implementation and integration are a bit hacky at the moment in order to get to a testable implementation that we can iterate on as quickly as possible.
Closes #2455
☑️ ToDos
jsi.h
from (this affects RN version compatability, since JSI doesn't seem to have a stable ABI)Compatibility
label is updated or copied from previous entryBreaking
label has been applied or is not necessaryIf this PR adds or changes public API's: