synapse
synapse copied to clipboard
MSC4140: finalised delayed events, and more
MSC4140: finalised delayed events, and more
- Store sent/cancelled/failed delayed events, i.e. finalised delayed events, and support looking them up to inspect whether a delayed event was sent or not. Set limits on how many finalised events to store.
- Support looking up delayed events by ID
- Return 200 when retrying the same action (send/cancel) on an already-finalised delayed event, or 409 for a conflicting action
- Limit how many delayed events a user may have scheduled at a time
Dev notes
Delayed events initially introduced in https://github.com/element-hq/synapse/pull/17326
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
EventStoretoEventWorkerStore.". - 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.
- 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
- [x] Code style is correct (run the linters)
Marking this as a draft until some conversations in the MSC get resolved.