Skip to content

Conversation

@hughns
Copy link
Member

@hughns hughns commented Nov 3, 2025

This is an implementation of the latest (2025) version of MSC4108. The implementation is independent of the existing experimental MSC4108 support in Synapse which is for the 2024 version.

Usage

It is configured using:

experimental_features:
  msc4108v2025_mode: <mode>

Where mode is one of:

  • off (default): feature is disabled
  • authenticated: enabled and requires an authenticated user to create a rendezvous
  • public: enabled and

Implementation notes

For future reference when implementing a final/non-experimental version:

  • it would make sense to persist the rendezvous over a server restart
  • consider how this would work with workers - currently needs to be main worker
    • maximum concurrent sessions
    • specific rate limits?
    • maximum session duration?
  • would it be more maintainable in Python?

Pull Request Checklist

  • Pull request is based on the develop branch
  • 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.
  • Code style is correct (run the linters)

This is an implementation of the latest version of MSC4108 (version 2025). The implementation is independent of the existing experimental MSC4108 support in Synapse which is for the 2024 version.

It is configured using:

```yaml
experimental_features:
  msc4108v2025_mode: <mode>
```

Where mode is one of:

- `off` (default): feature is disabled
- `authenticated`: enabled and requires an authenticated user to create a rendezvous
- `public`: enabled and
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants