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.43%. Comparing base (9641aa9) to head (c8a3d71).
Report is 5 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff            @@
##             main    #4531    +/-   ##
========================================
  Coverage   85.43%   85.43%            
========================================
  Files         285      285            
  Lines       32105    31960   -145     
========================================
- Hits        27429    27306   -123     
+ Misses       4676     4654    -22     

☔ 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 🥺 🙏

// receipt. NOTE: SS proxy workaround.
// Sliding sync sometimes sends the same event multiple times, so it can be at
// the beginning and end of a batch, for instance. In that case, just reset
// every time we see the event matching the
Copy link
Member

Choose a reason for hiding this comment

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

nit: you lost a word here :D

}

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?

/// This is useful at the moment because the current sliding sync
/// implementation uses a proxy server.
pub fn with_homeserver_override(mut self, homeserver_override: Option<String>) -> Self {
self.homeserver_override = homeserver_override;
Copy link
Member

Choose a reason for hiding this comment

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

The field could also be removed, right?

Comment on lines +251 to 253
// Sometimes sliding sync sends many duplicates of the read marker
// event. Don't forward it multiple times to avoid clutter
// the update channel.
Copy link
Member

Choose a reason for hiding this comment

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

We're not sure the native implementation does that, but my feeling is that we can remove this comment and keep the code as is, maybe with a much shorter comment that sounds less accusatory.

@Hywan
Copy link
Member Author

Hywan commented Jan 14, 2025

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

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