matrix-org / matrix-org/matrix-spec
Allow appservices to specify a reccomended maximum TTL time of a transaction
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Many bridges filter events from transactions based upon the `origin_server_ts`. If the age of an event is over a certain amount of time (e.g. 5 minutes), it is immediately discarded. This can be a problem if an appservice is down for an extended period of time, and when the appservice comes back up, it starts being sent many transactions that it will immediately discard.
Furthermore, there is an expense on the homeserver side where the homeserver may be storing a number of transactions for bridges in it's database. Being able to prune old transactions would save a great deal of space over time.
This needs a MSC
Contributor guide
Research direction
Start by reviewing the Matrix appservice transaction behavior described in the issue and the existing specification structure. Draft an MSC that defines a recommended maximum transaction TTL, including how it relates to bridge event filtering and homeserver transaction pruning; done means the proposal is sufficiently specified for review.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100