Commit Graph

  • 7a762035f1 feat(sdk): store the thread subscription bumpstamp and implement the correct upsert semantics Benjamin Bouvier 2025-08-27 17:40:54 +02:00
  • 8c0a918e6e refactor(sdk): introduce a lightweight ThreadSubscription for external consumers, and rename previous one to StoredThreadSubscription Benjamin Bouvier 2025-08-27 16:19:20 +02:00
  • 33c317e6d2 refactor(sdk): put the subscription status + bumpstamp back into the stored thread subscription Benjamin Bouvier 2025-08-27 12:39:25 +02:00
  • 371ed49670 Document --proxy option in the multiverse client Eric Eastwood 2025-08-29 16:05:31 -05:00
  • f0c1c65308 fix(spaces): mitigate eventual race conditions when updating the pagination state (part #2) Stefan Ceriu 2025-08-29 17:16:47 +03:00
  • ea5063ca84 fix(spaces): address potential race when setting up the room updates listener Stefan Ceriu 2025-08-29 15:08:22 +03:00
  • dcc07e1049 chore(spaces): acquire and retain an async lock on the pagination token for the duration of the request to futher prevent inconsistencies Stefan Ceriu 2025-08-29 14:35:53 +03:00
  • 76a0eb1599 fix(spaces): mitigate eventual race conditions when updating the pagination state Stefan Ceriu 2025-08-29 14:24:04 +03:00
  • a9c16c96e0 chore(spaces): cleanup clone names in room updates listener Stefan Ceriu 2025-08-29 14:14:57 +03:00
  • 93f8ebba27 chore(spaces): simplify the SpaceGraph interfaces Stefan Ceriu 2025-08-29 14:06:50 +03:00
  • 95bb153269 chore(spaces): improve how space graph edge additions work Stefan Ceriu 2025-08-29 13:57:14 +03:00
  • ff72a09870 chore(spaces): fix typo Stefan Ceriu 2025-08-29 13:52:33 +03:00
  • 06de58dee9 chore(spaces): switch some flat_maps to filter_map Stefan Ceriu 2025-08-29 13:45:11 +03:00
  • fbb49e9b65 chore(spaces): simplify the SpaceGraph interfaces Stefan Ceriu 2025-08-29 13:33:12 +03:00
  • 04728cc1a6 chore(spaces): various documentation fixes Stefan Ceriu 2025-08-29 13:32:00 +03:00
  • d43d141dc8 chore(spaces): use Client::joined_space_rooms within the space service to reduce the number of iterations required Stefan Ceriu 2025-08-21 10:09:17 +03:00
  • 3c069f0c5c fix(spaces): compute the initial joined_spaces value when first setting up a subscription - fixes values being reported only after the first sync update Stefan Ceriu 2025-08-20 15:13:49 +03:00
  • a2200b6324 chore(spaces): switch from manually dropping JoinHandles to AbortOnDrop Stefan Ceriu 2025-08-20 14:13:02 +03:00
  • 9caa0817ae docs(spaces): add documentation, comments and examples Stefan Ceriu 2025-08-19 09:59:59 +03:00
  • b3229041fb chore(spaces): ignore room list change updates if empty Stefan Ceriu 2025-08-18 11:39:35 +03:00
  • 50446377de change(spaces): publish VectorDiffs instead of a full vectors for joined spaces and space room list subscriptions Stefan Ceriu 2025-08-14 14:32:40 +03:00
  • 4f02a6d3be chore(spaces): add changelog Stefan Ceriu 2025-08-13 10:38:56 +03:00
  • 87fdd3c3bf chore(spaces): converge on single naming scheme for all spaces related components on both the UI and the FFI crates Stefan Ceriu 2025-08-12 14:25:30 +03:00
  • 990fe86fdc change(spaces): make the SpaceService constructor non-async and instead automatically setup a client subscription when requesting the joined services subscription Stefan Ceriu 2025-08-11 17:56:47 +03:00
  • be2ba26974 fix(spaces): filter out the current parent space from the /hierarchy responses and SpaceServiceRoomList instances Stefan Ceriu 2025-08-11 16:04:14 +03:00
  • 1392a0e637 change(spaces): put a limit of 1 on the max depth of the /hierarchy calls so only the direct children are fetche Stefan Ceriu 2025-08-11 14:42:21 +03:00
  • 03ffa4c9a4 feat(spaces): expose the number of children each space room has Stefan Ceriu 2025-08-11 14:21:57 +03:00
  • f8b5992101 fix(spaces): return the TaskHandle from the FFI space service subscription methods so it can be retained on the client side Stefan Ceriu 2025-08-11 13:47:59 +03:00
  • 97a5fbebfb feat(ffi): expose SpaceService::subscribe_to_joined_spaces and SpaceServiceRoomList::paginate Stefan Ceriu 2025-08-11 12:21:33 +03:00
  • 74c2032974 chore(spaces): build a graph from joined spaces parent and child relations to correctly detect all the edges and be able to remove any cycles. - cycle removing is done through DFS and keeping a list of visited nodes Stefan Ceriu 2025-08-11 12:15:48 +03:00
  • 274aaf5ba3 change(room_list): request both m.space.parent and m.space.child state events in the sliding sync required state as they're both required to build a full view of the space room hierarchy Stefan Ceriu 2025-08-11 12:12:00 +03:00
  • 3e72cce7a0 fix(spaces): use wasm compatible executor spawn and JoinHandle Stefan Ceriu 2025-08-08 15:30:37 +03:00
  • aa4b176ab3 fix(spaces): fix complement-crypto failures because of using an outdated uniffi version - automatic Arc inference was introduced in 0.27 and complement is using 0.25 Stefan Ceriu 2025-08-08 15:30:02 +03:00
  • ad2f4c731a feat(spaces): have the SpaceRoomList publish updates as known room states change i.e. they get joined or left. Stefan Ceriu 2025-08-08 14:19:44 +03:00
  • f78015fae1 change(spaces): return only top level joined rooms from SpaceService::joined_spaces and its reactive counterpart Stefan Ceriu 2025-08-07 18:16:49 +03:00
  • 211a1f5a40 feat(spaces): add a reactive version of the joined_spaces method Stefan Ceriu 2025-08-07 13:57:52 +03:00
  • b8be1fdb26 feat(spaces): introduce a SpaceRoomList that allows pagination and provides reactive interfaces to its rooms and pagination state Stefan Ceriu 2025-08-06 11:41:17 +03:00
  • a43e42c170 chore(spaces): introduce a SpaceServiceRoom Stefan Ceriu 2025-08-04 17:07:30 +03:00
  • f031eaf96b chore(spaces): setup a simple space service and some unit tests Stefan Ceriu 2025-08-01 14:15:28 +03:00
  • 3ba31d1e97 tests: clarify that the other thread subscription endpoints are grouped by room Benjamin Bouvier 2025-08-25 17:29:16 +02:00
  • bbf8f9f900 feat(sdk): add support for msc4308 accompanying endpoint (fetching thread subscriptions) Benjamin Bouvier 2025-08-25 17:25:53 +02:00
  • 49dc2bb640 chore: bump Ruma Benjamin Bouvier 2025-08-25 16:42:58 +02:00
  • 99af951d7a feat(crypto): Add EncryptionSettings::encrypt_state_events Skye Elliot 2025-08-28 13:00:23 +01:00
  • a17bf18ff2 chore(sdk): Improve a log message. Ivan Enderlin 2025-08-28 12:38:27 +02:00
  • 5d87570a33 doc(sdk,base): Fix outdated documentation and typos. Ivan Enderlin 2025-08-28 09:49:01 +02:00
  • 80806303b5 feat(sdk): The LatestEventValue is stored in RoomInfo and persisted. Ivan Enderlin 2025-08-27 16:46:13 +02:00
  • 6155772bb1 feat(base): Add RoomInfo::new_latest_event. Ivan Enderlin 2025-08-27 15:51:24 +02:00
  • 33db267a89 test(base): test_cached_latest_event_can_be_redacted runs only if e2e-encryption is enabled. Ivan Enderlin 2025-08-27 15:50:22 +02:00
  • 6fc68dac83 refactor(sdk,base): Move LatestEventValue into matrix_sdk_base. Ivan Enderlin 2025-08-27 15:04:26 +02:00
  • f3eeb82b0b refactor(sdk): LatestEvent::_room_id becomes _weak_room: WeakRoom. Ivan Enderlin 2025-08-27 14:28:08 +02:00
  • 951d22ac24 common: js_tracing: drop TRACE logs Richard van der Hoff 2025-08-27 17:03:51 +01:00
  • 527d001010 fix: Only report duplicate one-time key errors once Damir Jelić 2025-08-27 16:31:05 +02:00
  • 759eeeb27f feat(test): add event factory methods for creating space rooms and populating parent-children relationships. Stefan Ceriu 2025-08-04 15:10:35 +03:00
  • 97d6f57aee feat(base): add SyncResponse::RoomUpdates::is_empty method to check if there were any room updates Stefan Ceriu 2025-08-18 11:39:35 +03:00
  • 6622a3ac93 fix(room): fix event types in matrix_sdk::Room::parent_spaces method comments Stefan Ceriu 2025-08-11 11:25:07 +03:00
  • 39730173d4 chore(ffi): expose the SyncService.expire_sessions so client can expire Sliding Sync positions on demand Stefan Ceriu 2025-08-19 10:33:21 +03:00
  • 763314645b feat(sdk): add a Client::joined_space_rooms method that allows retrieving the list of joined spaces. Stefan Ceriu 2025-08-21 10:09:17 +03:00
  • 796fee08a2 feat(sdk): store the thread subscription bumpstamp and implement the correct upsert semantics bnjbvr/ruma-msc4308 Benjamin Bouvier 2025-08-27 17:40:54 +02:00
  • b2fee72d79 refactor(sdk): Revisit the assert_latest_event_content macro. Ivan Enderlin 2025-08-27 11:40:38 +02:00
  • 9803d2bcca refactor(sdk): Use SerializableEventContent. Ivan Enderlin 2025-08-27 11:18:58 +02:00
  • 296867d2ac feat(sdk): LatestEventValue implements Serialize and Deserialize. Ivan Enderlin 2025-08-20 15:46:57 +02:00
  • 710b57e035 refactor(sdk): Remove LatestEventContent. Ivan Enderlin 2025-08-20 15:19:13 +02:00
  • 74e8de3eb6 refactor(sdk): introduce a lightweight ThreadSubscription for external consumers, and rename previous one to StoredThreadSubscription Benjamin Bouvier 2025-08-27 16:19:20 +02:00
  • e6b136f59c refactor(sdk): put the subscription status + bumpstamp back into the stored thread subscription Benjamin Bouvier 2025-08-27 12:39:25 +02:00
  • baa75368d6 ci: Add feature matrix for integration testing Skye Elliot 2025-08-27 12:52:15 +01:00
  • feb264e899 test: Add a test to check that we don't create event cache reference cycles Damir Jelić 2025-08-27 13:03:44 +02:00
  • 8e5075569e feat: Add top-level support for decrypting state events (#5552) Skye Elliot 2025-08-27 10:53:55 +01:00
  • 2b6238d77e feat(sdk): add support for the sliding sync extension from msc4308 Benjamin Bouvier 2025-08-26 16:49:45 +02:00
  • 10e625921a tests: clarify that the other thread subscription endpoints are grouped by room Benjamin Bouvier 2025-08-25 17:29:16 +02:00
  • b6aed4e10e feat(sdk): add support for msc4308 accompanying endpoint (fetching thread subscriptions) Benjamin Bouvier 2025-08-25 17:25:53 +02:00
  • 33c11d08f0 test(indexeddb): add tests for media retention policy related fns Michael Goldenberg 2025-08-25 18:09:31 -04:00
  • 9714ac8e10 refactor(indexeddb): add IndexedDB-backed impl for media retention policy fns Michael Goldenberg 2025-08-25 17:57:25 -04:00
  • e1d136aa6e refactor(indexeddb): add indexed type to represent media retention policy Michael Goldenberg 2025-08-25 17:54:40 -04:00
  • 8018753332 refactor(indexeddb): add primary key to core object store in event cache database Michael Goldenberg 2025-08-25 17:40:57 -04:00
  • 61824f866c refactor(indexeddb): delegate media-related queries via media service to EventCacheStoreMedia implementation Michael Goldenberg 2025-08-25 15:47:34 -04:00
  • 6919444e98 feat(indexeddb): add MemoryStore-backed impl of EventCacheStoreMedia Michael Goldenberg 2025-08-25 15:40:41 -04:00
  • c5097cf07e refactor(indexeddb): remove macros for implementing EventCacheStore Michael Goldenberg 2025-08-25 15:35:37 -04:00
  • b77c6c65cc feat(indexeddb): derive Clone for IndexeddbEventCacheStore Michael Goldenberg 2025-08-25 15:06:29 -04:00
  • f4ce4356ab refactor(event cache): only process threaded linked chunks if thread support has been globally enabled matrix-sdk-ffi/20250826 Benjamin Bouvier 2025-08-26 13:17:56 +02:00
  • d66733052a feat(event cache): add indexes for finding related events Benjamin Bouvier 2025-08-26 13:09:37 +02:00
  • 001dadffe1 bench: add a benchmark for finding related events (#5578) Benjamin Bouvier 2025-08-26 15:57:06 +02:00
  • 80fc6c20f8 DO NOT MERGE (ruma bump) Benjamin Bouvier 2025-08-25 16:42:58 +02:00
  • b2387bf3a9 test(search): Add tests for RoomIndex::contains and indexing idempotency Shrey Patel 2025-08-19 14:53:25 +01:00
  • d43858ecb2 fix(search): Make indexing idempotent Shrey Patel 2025-08-19 14:53:25 +01:00
  • 8804966094 chore(deps): bump actions/setup-java from 4 to 5 dependabot[bot] 2025-08-26 02:57:33 +00:00
  • a3ee011b61 chore(deps): bump crate-ci/typos from 1.35.4 to 1.35.5 dependabot[bot] 2025-08-26 02:35:43 +00:00
  • f586172f3e chore(deps): bump actions/upload-pages-artifact from 3 to 4 dependabot[bot] 2025-08-26 02:11:10 +00:00
  • 85d52586b6 fix(media): Use the right Option<Duration> value to get no timeout Jorge Martín 2025-08-25 13:03:55 +02:00
  • 40d3dd57db tests(threads): add an exhaustive test to check for all notification mode combinations Benjamin Bouvier 2025-08-21 14:43:56 +02:00
  • 4e2655aa1b feat(sdk): Use clearer fields for Span in SendRawStateEvent Skye Elliot 2025-08-21 16:51:06 +01:00
  • 41fcebbcb0 chore(sdk): Move ensure_room_encryption_ready to end of file Skye Elliot 2025-08-21 15:23:13 +01:00
  • 13b86a3f5d tests: Add test_room_encrypted_state_event_send Skye Elliot 2025-08-19 15:50:24 +01:00
  • dba23b66fa feat(sdk): Use SendStateEvent future in Room send_state methods Skye Elliot 2025-08-06 15:13:50 +01:00
  • 132d0eb34a feat(sdk): Add SendStateEvent future Skye Elliot 2025-08-06 15:04:40 +01:00
  • e2e70448ca feat(sdk): Modify Room::send_state_event_raw to return SendRawStateEvent Skye Elliot 2025-08-06 15:01:37 +01:00
  • adaccbab2c feat(sdk): Add SendRawStateEvent future and deduplicate Skye Elliot 2025-08-18 16:21:11 +01:00
  • 3cc7415487 Create separate http client for server discovery cert-pinning-poc Jorge Martín 2025-08-22 11:29:04 +02:00
  • 7a09ca0bbd Merge pull request #5545 from matrix-org/kaylendog/msc3414/json-castable Richard van der Hoff 2025-08-21 18:59:23 +01:00
  • fffdd34ebd Merge pull request #5559 from matrix-org/kaylendog/encrypt-poll-sync Richard van der Hoff 2025-08-21 17:07:22 +01:00
  • 24502d2706 fix(sdk): Check correct encryption state for encrypted state events Skye Elliot 2025-08-21 15:37:55 +01:00