matrix-org / matrix-org/matrix-rust-sdk

[meta] SSS & PPS

Open
#3,647 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
2.3k
Forks
500
Avg merge
1d 16h
Merged PRs (30d)
106

Description

_Here be dragons._

image of mountain with a wave of snow on top of it

source

(that's a draft)

This is a meta issue to track the work about _Simplified Sliding Sync_ (SSS) and _Pragmatic Pragmatic Sync_ (PPS)

# Simplified Sliding Sync

Synapse is implementing Sliding Sync natively. Since [the Proxy implementation](https://github.com/matrix-org/sliding-sync) was experimental and was exposing too many features we now know we don't need, we call this project Simplified Sliding Sync.

## Tasks

- [x] Replace the sync `ops` by client-side sorting
- [x] #3068
- [x] #3585
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3664
- [x] Ruma support
- [x] https://github.com/ruma/ruma/pull/1879
- [x] https://github.com/ruma/ruma/pull/1907
- [x] https://github.com/ruma/ruma/pull/1911
- [x] Move the entire SDK to SSS, and be able to switch to SS at compile-time or runtime
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3676
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3702
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3724
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3820
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3830
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3832
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3833
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3853
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3871
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3874

# Pragmatic Pragmatic Sync

Pragmatic Pragmatic Sync is another effort to extract some features of Sliding Sync into their own HTTP endpoints.

## Tasks

- [ ] Replace Sliding Sync by `/sync/e2ee`
- [ ] Replace Sliding Sync by the improved `/context`

# On the server-side

They are things missing or not working correctly on the server-side. We have nothing to do about it in the SDK, but it's important to list them so that we have a complete view of the project:

- **[Board](https://github.com/orgs/element-hq/projects/126/views/1)**
- [x] https://github.com/element-hq/element-x-ios/issues/3106
- [x] https://github.com/element-hq/synapse/issues/17540

# Release and Clean Up

Now it's time to clean up the old `matrix_sdk::sliding_sync` implementation.

# Auto select SS or SSS

- [x] https://github.com/element-hq/element-meta/issues/2499
- [x] https://github.com/element-hq/synapse/pull/17571
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3889
- [x] https://github.com/matrix-org/complement-crypto/pull/128
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/3908

## Tasks

- [x] Remove old features of Sliding Sync
- [x] Remove potential intermediate feature flags
- [x] Remove the `experimental-sliding-sync` feature flag:
- [x] https://github.com/matrix-org/matrix-rust-sdk/pull/4483
- [ ] https://github.com/matrix-org/matrix-rust-sdk/issues/3698

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the remaining unchecked tasks under Pragmatic Pragmatic Sync and Auto select SS or SSS, especially issue #3698. The issue is a meta tracker rather than a code-specific task; done means the listed work is completed and the corresponding checklist is updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.