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
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:
Contributor 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