matrix-org / matrix-org/matrix-spec
Consider making push rules actually turing complete
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Aside from the joke, we might want to consider a DSL (Domain Specific Language( of some kind to represent push rules, making it easier to upgrade push rule conditions without servers having to guess at client support.
For example, both https://github.com/matrix-org/matrix-spec-proposals/pull/3758 and https://github.com/matrix-org/matrix-spec-proposals/pull/3862 would be much easier if we could just add a block of DSL code to the server and sync it to the client: we might not even need an MSC, and it'd Just Work™.
Downside obviously being that something as "simple" as notifications could do simple mathematics and possibly hold a conversation with enough effort. However, it might also be good(?) if some server out there wants to start running simple machine learning-based notifications: serialize your model down to the DSL and feed it through a client.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the push-rules specification and the two referenced Matrix Spec Proposal pull requests, MSC 3758 and MSC 3862. Define the DSL's scope, client-support and synchronization requirements, and safety limits for computation; the work is done when the proposal has a decided design and clear compatibility and security criteria.
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
- 20/100