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

fix: Remove support for MSC3575 #4531

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Hywan
Copy link
Member

@Hywan Hywan commented Jan 14, 2025

MSC3575 is the “first” and “old” version of sliding sync, implemented by the sliding sync proxy and probably other homeservers. MSC4186 is the “next” and “new” version of sliding sync, being implemented inside Synapse and probably other homeservers.

The Matrix Rust SDK was supporting both versions, aiming at giving time to homeservers to transition from the experimental MSC3575 to the stable, production ready MSC4186.

It is time to say good bye to MSC3575. This is what the first patch does.

This patch also needs to update ruma (to include ruma/ruma#1995). Updating ruma involves a bit of breaking changes, it's addressed in a standalone second patch.

@Hywan Hywan force-pushed the fix-remove-msc3575 branch from 013c7d7 to c8a3d71 Compare January 14, 2025 15:12
Copy link

codecov bot commented Jan 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.38%. Comparing base (c82e469) to head (04ee9ee).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4531      +/-   ##
==========================================
- Coverage   85.41%   85.38%   -0.04%     
==========================================
  Files         285      285              
  Lines       32215    32100     -115     
==========================================
- Hits        27518    27410     -108     
+ Misses       4697     4690       -7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@bnjbvr bnjbvr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exciting! I'd really like the Ruma update to happen separately, because it involves non-trivial changes related to reply fallbacks that I'd like to review without other changes, pretty please 🥺 🙏

crates/matrix-sdk-base/src/read_receipts.rs Outdated Show resolved Hide resolved
}

pub use msc4186::*;
pub use ruma::api::client::sync::sync_events::v5::*;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get rid of this file now, and just use use with the ruma full path?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've removed this file, but ruma::api::client::sync::sync_events::v5 is re-exported as http inside matrix_sdk_base::sliding_sync. I think it is still comfortable to use matrix_sdk_base::sliding_sync::http to get all the HTTP types for sliding sync without having to look for inside Ruma. It's just a module alias. What do you think?

crates/matrix-sdk/src/client/futures.rs Show resolved Hide resolved
crates/matrix-sdk/src/event_cache/room/mod.rs Outdated Show resolved Hide resolved
@Hywan
Copy link
Member Author

Hywan commented Jan 14, 2025

Yup, sure, ruma update has been extracted in #4532.

@Hywan Hywan force-pushed the fix-remove-msc3575 branch from c8a3d71 to 4453a79 Compare January 20, 2025 14:05
Hywan added 2 commits January 20, 2025 15:21
This patch inlines `sliding_sync::http` inside `sliding_sync`. Then, the
`sliding_sync/mod.rs` file is renamed to `sliding_sync.rs`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants