-
Notifications
You must be signed in to change notification settings - Fork 579
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
Upgrade to HEAD of Realm Core's master #6637
Conversation
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.
Looks like a lot of good simplifications. If it passes tests I'm fine with merging it as part of an upgrade to Core 👍
In most cases the downcasting has no effect but for the user classes
🤞 We didn't test the performance of this, right? I mean - its a pretty critical code path.
I have changed it so we don't downcast but I hope that a C++ compiler will generate very little code for Foo *foo = new Foo();
auto bar = std::dynamic_pointer_cast<Foo>(foo); |
Co-authored-by: Kræn Hansen <[email protected]>
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.
Thanks for tackling this! I've left some comments that would be good to resolve before merge 👍
}, | ||
); | ||
userAgentBindingInfo: App.userAgent, | ||
} |
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.
Linting 👍
} | |
}, |
* main: (22 commits) Prepare for vNext (#6677) [12.9.0] Bump version (#6676) Fix performance tests (#6665) Combined: Support `Mixed` data type with collections (#6613) Update expected error messages (#6674) Adding --latest-local to the baas test server CLI (#6673) Upgrade to Realm Core v14.7.0 (#6663) Upgrade @trunk/launcher to v1.3.1 to support Apple's versioning scheme for macOS (#6671) Prepare for vNext (#6669) [12.8.1] Bump version (#6668) Use unreleased core (#6667) Fix realm/react changelog (#6661) Fix GHA error when publishing package release (#6660) Prepend vNext to realm/react changelog. [realm-react-0.7.0] Bump version (#6658) Update OAuth2Helper to remove accessing the stitch prefix (#6659) Fix unresolvable links in API reference docs and remove re-exports (#6646) Prepare for vNext (#6645) [12.8.0] Bump version (#6643) Upgrade to HEAD of Realm Core's master (#6637) ... # Conflicts: # CHANGELOG.md # integration-tests/tests/src/tests/mixed.ts
What, How & Why?
Next core release will come with a number of breaking changes. This PR is a preparation for the release, and it requires realm/realm-core#7623 to be merged and release.
The Binding Generator has some limitations, and in conjunction with realm/realm-core#7623 this PR works around them.
In realm/realm-core#7300, a new user is introduced (
app::User
) which inherit fromSyncUser
. As both classes are used withstd::shared_ptr
(annotatedSharedPtrWrapper
inspec.xml
), it is not possible to generate code. Thesolutionhack is to downcast all objects. In most cases the downcasting has no effect but for the user classes. For user classes we will use only one -app::User
- and downcastSyncUser
toapp::User
.☑️ ToDos
Compatibility
label is updated or copied from previous entryCOMPATIBILITY.md
package.json
s (if updating internal packages)Breaking
label has been applied or is not necessary