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

Every push is marking all tracked users as dirty, thus triggering a `keys/query` for all users

Open
#4,257 0 comments 0 reactions 0 assignees View on GitHub
A-Encryption
Dominant language
Rust
Stars
2.3k
Forks
500
Avg merge
1d 16h
Merged PRs (30d)
106

Description

It appears that everytime a push notification is received, a new notification client is created and will then do a sync without `pos`. This will trigger a `keys/query` for all tracked users.

This is apparently due to this change #3965
> fix(sdk): Mark tracked users as dirty when the SS connection is reset.

Here is the classical sequence of request as captured by a proxy:
image

Contributor guide

Open the contributing guide

Research direction

Start by reviewing change #3965 and the captured request sequence. Trace notification client creation and the sync performed without `pos`; done when receiving a push no longer causes `keys/query` requests for all tracked users.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.