Sync: Add support for MSC4262 (Profile Updates Sliding Sync Extension).#6685
Sync: Add support for MSC4262 (Profile Updates Sliding Sync Extension).#6685pixlwave wants to merge 9 commits into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6685 +/- ##
=======================================
Coverage ? 89.92%
=======================================
Files ? 397
Lines ? 110803
Branches ? 110803
=======================================
Hits ? 99641
Misses ? 7371
Partials ? 3791 ☔ View full report in Codecov by Harness. |
|
This all looks mostly sensible. I thing I could spot, if we receive the profiles as part of the sync, then we should persist them in the store as part of a This ensures that all the changes a sync produces are persisted as part of a single DB transaction. This means you'll need to extend this struct: matrix-rust-sdk/crates/matrix-sdk-base/src/store/mod.rs Lines 539 to 586 in 412b5df And extend the logic which persists the changes from that struct. |
Thanks, done as far as I can tell in 3e244e1 |
|
Converting back to draft until we have ruma/ruma#2518 |
Handling the responses is not yet handled.
Global profile updates (MSC4262) are now carried on the StateChanges struct and written in the same DB transaction as the rest of a sync, rather than through a standalone StateStore::save_global_profile_updates method.
|
Alright, this is now ready for review. The first 3 commits are unchanged (but rebased on |
This PR makes the following additions:
Note:
get_global_profiles(bulk getter) isn't used yet, but was added for the next part of this work which is to includem.status/m.callfields onRoomMemberand doing so in bulk should be more performant.Full disclosure: I do not understand SQL, all of that code is LLM generated and I don't have any confidence to say whether or not it is valid/performant/good. ORMs ftw 😄