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

[RKOTLIN-1099]: Upgrade to Core 14.11.2 #1812

Merged
merged 46 commits into from
Aug 13, 2024
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
26ccf57
Bump core
clementetb Jul 9, 2024
61f45b0
add workaround for encryption app tests
clementetb Jul 9, 2024
2c61ee4
linting
clementetb Jul 9, 2024
c860bed
Remove tmp
clementetb Jul 10, 2024
6497b06
Try to fix test
clementetb Jul 10, 2024
b7364d2
Point to cores issue
clementetb Jul 10, 2024
7283573
revet fix
clementetb Jul 10, 2024
642ddc7
Bump timeout
clementetb Jul 10, 2024
354b99d
allow initialRealm_partitionBasedSync to be rerun
clementetb Jul 10, 2024
e790f6f
Ignore test
clementetb Jul 10, 2024
c89bb1e
Use assertContains
clementetb Jul 11, 2024
d4c9b5d
Bump gha versions
clementetb Jul 11, 2024
033d245
Suppress deprecation warnings
clementetb Jul 11, 2024
2dd78e1
use correct java version for android SDK setup
clementetb Jul 11, 2024
1b07d2e
fix variable name
clementetb Jul 11, 2024
36ff361
set jdk 17 to install ndk step
clementetb Jul 11, 2024
e825ebf
Upgrade to Core 14.10.4
rorbech Jul 16, 2024
42cc4f5
Fix merge error in CHANGELOG
rorbech Jul 16, 2024
364999a
Another round for linting
rorbech Jul 16, 2024
a59074f
Use client config
clementetb Jun 10, 2024
fa54fe0
Remove parameter
clementetb Jun 10, 2024
8285baa
Update core and add platform networking tests
rorbech Jul 17, 2024
ff8b587
Add CHANGELOG entry
rorbech Jul 17, 2024
5f86678
Merge branch 'ct/bump-core-14.10.3' into ct/fix_sync_client_config
rorbech Jul 17, 2024
088eb86
Include CHANGELOG entries from Core
rorbech Jul 17, 2024
6e366a7
Merge branch 'ct/bump-core-14.10.3' into ct/fix_sync_client_config
rorbech Jul 17, 2024
56a2b03
Bump to latest core
rorbech Jul 17, 2024
b1534c2
Fix platform networking test
rorbech Jul 17, 2024
fa325a0
Add debug output to flx progress listener test
rorbech Jul 17, 2024
91d15bd
More debug output for flx progress listener test
rorbech Jul 18, 2024
89c1d84
Clean up
rorbech Jul 18, 2024
df59dcc
Remove debug statements
rorbech Jul 18, 2024
7901a14
Test updates
rorbech Jul 18, 2024
90e38c2
Test udpates
rorbech Jul 18, 2024
e2723ee
Debug if sync sessions is actually closed
rorbech Jul 19, 2024
ead1fde
Immediately terminating sync session
rorbech Jul 19, 2024
ae0135f
More debug information
rorbech Jul 19, 2024
e519710
Rework flx upload progress listener test and clean up
rorbech Jul 19, 2024
1820ad7
Updates according to review comments
rorbech Jul 19, 2024
193318b
Upgrade to Core 14.11.0
rorbech Jul 19, 2024
e4a180f
Merge branch 'main' into cr/core-14.11.0
rorbech Aug 9, 2024
af8e6c2
Upgrade to Core 14.11.2
rorbech Aug 9, 2024
31a5531
Remove deprecated websocket error codes
rorbech Aug 9, 2024
6151c5a
Update CHANGELOG.md
rorbech Aug 13, 2024
197621f
Ignore flaky platform networking test
rorbech Aug 13, 2024
0f21d65
Merge remote-tracking branch 'origin/cr/core-14.11.0' into cr/core-14…
rorbech Aug 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@
### Enhancements
* Reduce the size of the local transaction log produced by creating objects, improving the performance of insertion-heavy transactions (Core issue [realm/realm-core#7734](https://github.com/realm/realm-core/pull/7734)).
* Performance has been improved for range queries on integers and timestamps. Requires that you use the "BETWEEN" operation in RQL or the Query::between() method when you build the query. (Core issue [realm/realm-core#7785](https://github.com/realm/realm-core/pull/7785))
* [Sync] Add support for switching users with `App.switchUser(User)`. (Issue [#1813](https://github.com/realm/realm-kotlin/issues/1813)/[RKOTLIN-1115](https://jira.mongodb.org/browse/RKOTLIN-1115)).
* [Sync] Report the originating error that caused a client reset to occur. (Core issue [realm/realm-core#6154](https://github.com/realm/realm-core/issues/6154)).
* [Sync] It is no longer an error to set a base url for an App with a trailing slash - for example, `https://services.cloud.mongodb.com/` instead of `https://services.cloud.mongodb.com` - before this change that would result in a 404 error from the server (Core issue [realm/realm-core#7791](https://github.com/realm/realm-core/pull/7791)).
* [Sync] On Windows devices Device Sync will additionally look up SSL certificates in the Windows Trusted Root Certification Authorities certificate store when establishing a connection. (Core issue [realm/realm-core#7882](https://github.com/realm/realm-core/pull/7882))
* [Sync] Add support for switching users with `App.switchUser(User)`. (Issue [#1813](https://github.com/realm/realm-kotlin/issues/1813)/[RKOTLIN-1115](https://jira.mongodb.org/browse/RKOTLIN-1115)).
* [Sync] Role and permissions changes no longer require a client reset to update the local realm. (Core issue [realm/realm-core#7440](https://github.com/realm/realm-core/pull/7440)).
* [Sync] Sync log statements now include the app services connection id in their prefix (e.g `Connection[1:<connection id>] Session[1]: log message`) to make correlating sync activity to server logs easier during troubleshooting (Core issue [realm/realm-core#7849)](https://github.com/realm/realm-core/pull/7849)).

### Fixed
* Comparing a numeric property with an argument list containing a string would throw. (Core issue [realm/realm-core#7714](https://github.com/realm/realm-core/issues/7714), since v2.0.0).
Expand All @@ -28,6 +30,8 @@
* [Sync] Fixed a change of mode from Strong to All when removing links from an embedded object that links to a tombstone. This affects sync apps that use embedded objects which have a `Lst<Mixed>` that contains a link to another top level object which has been deleted by another sync client (creating a tombstone locally). In this particular case, the switch would cause any remaining link removals to recursively delete the destination object if there were no other links to it. (Core issue [realm/realm-core#7828](https://github.com/realm/realm-core/issues/7828), since v1.15.0)
* [Sync] `SyncSession.uploadAllLocalChanges` was inconsistent in how it handled commits which did not produce any changesets to upload. Previously it would sometimes complete immediately if all commits waiting to be uploaded were empty, and at other times it would wait for a server roundtrip. It will now always complete immediately. (Core issue [realm/realm-core#7796](https://github.com/realm/realm-core/pull/7796)).
* [Sync] Sync client can crash if a session is resumed while the session is being suspended. (Core issue [realm/realm-core#7860](https://github.com/realm/realm-core/issues/7860), since v1.0.0)
* [Sync] If a sync session is interrupted by a disconnect or restart while downloading a bootstrap, stale data from the previous bootstrap may be included when the session reconnects and downloads the bootstrap. This can lead to objects stored in the database that do not match the actual state of the server and potentially leading to compensating writes. (Core issue [realm/realm-core#7827](https://github.com/realm/realm-core/issues/7827), since v1.0.0).
rorbech marked this conversation as resolved.
Show resolved Hide resolved
* [Sync] App subscription callback was getting fired before the user profile was retrieved on login, leading to an empty user profile when using the callback. ([#7889](https://github.com/realm/realm-core/issues/7889), since v14.7.0).

### Compatibility
* File format: Generates Realms with file format v24 (reads and upgrades file format v10 or later).
Expand All @@ -45,7 +49,8 @@
* Minimum R8: 8.0.34.

### Internal
* Updated to Realm Core 14.10.4 commit 4f83c590c4340dd7760d5f070e2e81613eb536aa.
* Updated to Realm Core 14.11.2 commit 117c1cbf2b96eaa1bf51562e4f45d3649b3bdad2.
* Updated to Sync protocol version 14 to support server intiated bootstraps and role change updates without a client reset. (Core issue [realm/realm-core#7440](https://github.com/realm/realm-core/pull/7440)).


## 2.1.1-SNAPSHOT (YYYY-MM-DD)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,6 @@ expect enum class WebsocketErrorCode : CodeDescription {
RLM_ERR_WEBSOCKET_UNAUTHORIZED,
RLM_ERR_WEBSOCKET_FORBIDDEN,
RLM_ERR_WEBSOCKET_MOVEDPERMANENTLY,
RLM_ERR_WEBSOCKET_CLIENT_TOO_OLD,
RLM_ERR_WEBSOCKET_CLIENT_TOO_NEW,
RLM_ERR_WEBSOCKET_PROTOCOL_MISMATCH,
RLM_ERR_WEBSOCKET_RESOLVE_FAILED,
RLM_ERR_WEBSOCKET_CONNECTION_FAILED,
RLM_ERR_WEBSOCKET_READ_ERROR,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,6 @@ actual enum class WebsocketErrorCode(
RLM_ERR_WEBSOCKET_UNAUTHORIZED("Unauthorized", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_UNAUTHORIZED),
RLM_ERR_WEBSOCKET_FORBIDDEN("Forbidden", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_FORBIDDEN),
RLM_ERR_WEBSOCKET_MOVEDPERMANENTLY("MovedPermanently", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_MOVEDPERMANENTLY),
RLM_ERR_WEBSOCKET_CLIENT_TOO_OLD("ClientTooOld", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_CLIENT_TOO_OLD),
RLM_ERR_WEBSOCKET_CLIENT_TOO_NEW("ClientTooNew", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_CLIENT_TOO_NEW),
RLM_ERR_WEBSOCKET_PROTOCOL_MISMATCH("ProtocolMismatch", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_PROTOCOL_MISMATCH),

RLM_ERR_WEBSOCKET_RESOLVE_FAILED("ResolveFailed", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_RESOLVE_FAILED),
RLM_ERR_WEBSOCKET_CONNECTION_FAILED("ConnectionFailed", realm_web_socket_errno_e.RLM_ERR_WEBSOCKET_CONNECTION_FAILED),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,6 @@ actual enum class WebsocketErrorCode(
RLM_ERR_WEBSOCKET_UNAUTHORIZED("Unauthorized", realm_web_socket_errno.RLM_ERR_WEBSOCKET_UNAUTHORIZED),
RLM_ERR_WEBSOCKET_FORBIDDEN("Forbidden", realm_web_socket_errno.RLM_ERR_WEBSOCKET_FORBIDDEN),
RLM_ERR_WEBSOCKET_MOVEDPERMANENTLY("MovedPermanently", realm_web_socket_errno.RLM_ERR_WEBSOCKET_MOVEDPERMANENTLY),
RLM_ERR_WEBSOCKET_CLIENT_TOO_OLD("ClientTooOld", realm_web_socket_errno.RLM_ERR_WEBSOCKET_CLIENT_TOO_OLD),
RLM_ERR_WEBSOCKET_CLIENT_TOO_NEW("ClientTooNew", realm_web_socket_errno.RLM_ERR_WEBSOCKET_CLIENT_TOO_NEW),
RLM_ERR_WEBSOCKET_PROTOCOL_MISMATCH("ProtocolMismatch", realm_web_socket_errno.RLM_ERR_WEBSOCKET_PROTOCOL_MISMATCH),
RLM_ERR_WEBSOCKET_RESOLVE_FAILED("ResolveFailed", realm_web_socket_errno.RLM_ERR_WEBSOCKET_RESOLVE_FAILED),
RLM_ERR_WEBSOCKET_CONNECTION_FAILED("ConnectionFailed", realm_web_socket_errno.RLM_ERR_WEBSOCKET_CONNECTION_FAILED),
RLM_ERR_WEBSOCKET_READ_ERROR("ReadError", realm_web_socket_errno.RLM_ERR_WEBSOCKET_READ_ERROR),
Expand Down
2 changes: 1 addition & 1 deletion packages/external/core
Submodule core updated 90 files
+49 −3 CHANGELOG.md
+1 −2 Package.swift
+174 −174 certificate-authority/certs/dns-chain.crt.pem
+76 −76 certificate-authority/certs/dns-checked-server.crt.pem
+13 −13 certificate-authority/certs/dns-checked-server.csr.pem
+26 −26 certificate-authority/certs/dns-checked-server.key.pem
+175 −175 certificate-authority/certs/ip-chain.crt.pem
+77 −77 certificate-authority/certs/ip-server.crt.pem
+13 −13 certificate-authority/certs/ip-server.csr.pem
+26 −26 certificate-authority/certs/ip-server.key.pem
+ certificate-authority/certs/localhost-chain.crt.cer
+174 −174 certificate-authority/certs/localhost-chain.crt.pem
+76 −76 certificate-authority/certs/localhost-server.crt.pem
+15 −15 certificate-authority/certs/localhost-server.csr.pem
+26 −26 certificate-authority/certs/localhost-server.key.pem
+97 −97 certificate-authority/root-ca/crt.pem
+24 −24 certificate-authority/root-ca/csr.pem
+1 −1 certificate-authority/root-ca/db/ca.crt.srl
+2 −0 certificate-authority/root-ca/db/ca.db
+50 −50 certificate-authority/root-ca/key.pem
+98 −98 certificate-authority/signing-ca/crt.pem
+25 −25 certificate-authority/signing-ca/csr.pem
+1 −1 certificate-authority/signing-ca/db/ca.crt.srl
+3 −0 certificate-authority/signing-ca/db/ca.db
+50 −50 certificate-authority/signing-ca/key.pem
+2 −1 dependencies.yml
+126 −1 evergreen/config.yml
+3 −3 src/realm/alloc_slab.hpp
+0 −3 src/realm/error_codes.h
+24 −8 src/realm/object-store/sync/app.cpp
+2 −0 src/realm/object-store/sync/app.hpp
+3 −1 src/realm/object-store/sync/sync_session.hpp
+0 −2 src/realm/sync/CMakeLists.txt
+53 −178 src/realm/sync/client.cpp
+0 −8 src/realm/sync/client_base.hpp
+21 −11 src/realm/sync/config.hpp
+2 −2 src/realm/sync/instruction_applier.cpp
+1 −24 src/realm/sync/network/default_socket.cpp
+0 −9 src/realm/sync/network/websocket.cpp
+0 −3 src/realm/sync/network/websocket_error.hpp
+8 −9 src/realm/sync/noinst/client_history_impl.cpp
+4 −3 src/realm/sync/noinst/client_history_impl.hpp
+74 −117 src/realm/sync/noinst/client_impl_base.cpp
+36 −26 src/realm/sync/noinst/client_impl_base.hpp
+3 −6 src/realm/sync/noinst/client_reset.cpp
+1 −2 src/realm/sync/noinst/client_reset.hpp
+2 −3 src/realm/sync/noinst/client_reset_operation.cpp
+1 −2 src/realm/sync/noinst/client_reset_operation.hpp
+0 −431 src/realm/sync/noinst/compact_changesets.cpp
+0 −41 src/realm/sync/noinst/compact_changesets.hpp
+36 −37 src/realm/sync/noinst/pending_bootstrap_store.cpp
+9 −13 src/realm/sync/noinst/pending_bootstrap_store.hpp
+10 −5 src/realm/sync/noinst/protocol_codec.hpp
+5 −29 src/realm/sync/noinst/server/server.cpp
+0 −5 src/realm/sync/noinst/server/server.hpp
+1 −38 src/realm/sync/noinst/server/server_history.cpp
+1 −5 src/realm/sync/noinst/server/server_history.hpp
+22 −6 src/realm/sync/protocol.hpp
+192 −118 src/realm/sync/subscriptions.cpp
+43 −13 src/realm/sync/subscriptions.hpp
+1 −3 src/realm/sync/tools/apply_to_state_command.cpp
+1 −1 src/realm/util/file.cpp
+5 −0 src/realm/util/logger.hpp
+0 −1 test/CMakeLists.txt
+1 −0 test/object-store/CMakeLists.txt
+61 −1 test/object-store/sync/app.cpp
+1,226 −0 test/object-store/sync/flx_role_change.cpp
+32 −24 test/object-store/sync/flx_schema_migration.cpp
+227 −55 test/object-store/sync/flx_sync.cpp
+138 −40 test/object-store/util/sync/baas_admin_api.cpp
+21 −6 test/object-store/util/sync/baas_admin_api.hpp
+1 −1 test/object-store/util/sync/flx_sync_harness.hpp
+282 −0 test/object-store/util/sync/redirect_server.hpp
+6 −2 test/object-store/util/sync/sync_test_utils.cpp
+7 −0 test/object-store/util/sync/sync_test_utils.hpp
+7 −1 test/object-store/util/test_file.cpp
+2 −1 test/object-store/util/test_file.hpp
+14 −2 test/object-store/util/test_utils.hpp
+0 −11 test/peer.hpp
+0 −3 test/sync_fixtures.hpp
+11 −11 test/test_client_reset.cpp
+0 −438 test/test_compact_changesets.cpp
+0 −12 test/test_embedded_objects.cpp
+2 −3 test/test_sync.cpp
+28 −23 test/test_sync_pending_bootstraps.cpp
+230 −76 test/test_sync_subscriptions.cpp
+0 −6 test/test_transform.cpp
+2 −2 test/util/CMakeLists.txt
+14 −0 test/util/unit_test.hpp
+88 −44 tools/cross_compile.sh
Loading