synapse icon indicating copy to clipboard operation
synapse copied to clipboard

MSC4354: Sticky Events

Open kegsay opened this issue 3 months ago • 1 comments

This implements MSC4354: Sticky Events. To enable it, set this in homeserver.yaml:

experimental_features:
    msc4354_enabled: true

Complement tests: https://github.com/matrix-org/complement/pull/806

Pull Request Checklist

  • [x] Pull request is based on the develop branch
  • [x] Pull request includes a changelog file. The entry should:
    • Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from EventStore to EventWorkerStore.".
    • Use markdown where necessary, mostly for code blocks.
    • End with either a period (.) or an exclamation mark (!).
    • Start with a capital letter.
    • Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry.
  • [x] Code style is correct (run the linters)

kegsay avatar Sep 24 '25 13:09 kegsay

Hi folks, I'm taking this over from @kegsay. Our plan is to:

  • Continue with a (batched) response to sync where we send all sticky event changes, rather than introducing a pagination endpoint.
  • This is with the aim to merge this so we can experiment on whether the approach is enough, or if we need to change the MSC. With that in mind, this feature will be behind a per-user feature gate so that users can opt in and out of seeing sticky updates down /sync.

CC: @erikjohnston , @ara4n , @fkwp , @devonh

Half-Shot avatar Nov 11 '25 10:11 Half-Shot