Skip to content

v0.99.5

Compare
Choose a tag to compare
@kegsay kegsay released this 02 Aug 16:42
· 532 commits to main since this release

Docker images available at: https://github.com/matrix-org/sliding-sync/pkgs/container/sliding-sync

Features:

  • Every room JSON now has an avatar string which contains the MXC URI to use for that room. This is either the m.room.avatar or the opposing m.room.member's avatar_url for DM rooms.

Bugfixes:

  • Fixed several panics.
  • Malformed events no longer cause the entire state/timeline block to be dropped. Instead only the malformed event is dropped. This fixes an issue which could prevent room state from being kept in sync.
  • Fixed an issue which could cause duplicate account data events.
  • Fixed an issue where room snapshots were incorrectly made for invite rejections. This mostly just had a performance impact when a user then subsequently joined the room, as a room snapshot would be "rolled forward" rather than snapshotted once.

Improvements:

  • Faster startup times by rearranging SQL queries.
  • Reduce write pressure on the DB by periodically persisting since tokens.
  • Add several new Prometheus metrics.
  • Reduce spam protection interval to more rapidly resync clients when their connections are expired.
  • Wait up to 1s for unsigned.transaction_id to come through on pollers before sending events to clients. Makes use of an "all clear" message to reduce the likelihood of waiting that 1s. Should for the most part completely address #3 - assuming the upstream HS lag is <1s.
  • Add more information to response summary log lines.
  • Assign a single poller per room to track typing notifications. This will significantly increase the reliability of typing notifications, and reduce their associated payload frequency over pubsub.

What's Changed

  • Use the rooms table initially when querying latest nids by @kegsay in #202
  • Use a pinned EW version for e2e tests to unbreak them by @kegsay in #205
  • bugfix: ensure metadata maps are always init'd by @kegsay in #204
  • Increase timeout of init sync to 30mn for small homeservers by @MatMaul in #188
  • Don't try to get data for empty room lists by @S7evinK in #206
  • Debug missing roomIDs/event timestamps seen at startup by @DMRobertson in #178
  • Improve startup times by @kegsay in #207
  • Bump docker-setup-qemu-action to v2 by @DMRobertson in #210
  • Give clients avatar URLs for rooms by @DMRobertson in #208
  • Persist since token periodically by @S7evinK in #209
  • Speed up startup even more by @kegsay in #213
  • Add more metrics around connection buffers by @kegsay in #219
  • Protect map against concurrent map r/w by @kegsay in #220
  • Adjust spam intervals by @kegsay in #221
  • bugfix: fix deadlock when connections expire due to full buffers by @kegsay in #222
  • Handle malformed events more gracefully by @kegsay in #224
  • Fix Nginx-example regex case-sensitivity. by @olmari in #226
  • Add more logging to response lines by @kegsay in #233
  • Ensure clients see their transaction_ids by @DMRobertson in #146
  • Move PendingTxnIDs to the handler2.Handler by @DMRobertson in #236
  • Do not make snapshots for lone leave events by @kegsay in #235
  • Fix V2Typing send multiple times by @S7evinK in #214
  • Suppress duplicate account data events by @kegsay in #237

New Contributors

Full Changelog: v0.99.4...v0.99.5