matrix-org / matrix-org/matrix-spec

A way to identify which homeservers are part of a given federation

Open
#691 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
HTML
Stars
330
Forks
150
Avg merge
2h 21m
Merged PRs (30d)
3

Description

Currently, there’s basically four access rules (if that’s the right word) for rooms in Matrix/Element.

  1. homeserver-internal and private, i.e. invite-only
  2. homeserver-internal and public, anyone from the homeserver can join who knows the link or via room directory
  3. external, i.e. federated and private, i.e. invite-only but across multiple homeservers
  4. external, i.e. federated and public, anyone world-wide can join who knows the link or via room directory

In regards of our university, we are basically obliged to provide some, let’s say, secure and private platform for our students and staff. If there is some sort of collaboration via federation, which is highly appreciated, then we need some clear way to show this distiction between university-internal and university-external channels to our students and staff.

Please let’s find some way to establish this distinction server-side in Synapse, and to show this distiction (via e.g. some icon) client-side in Element.

There could for example be some kind of trusted_homeservers setting in Synapse’s homeserver.yaml … somewhat similar to the federation_whitelist setting. This would also solve the issue of one institution having multiple homeservers, so they could federate with each other but the rooms would still be institution-internal.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation files or tests are named. Start by reviewing the Matrix room access rules and federation behavior described in the issue, then trace how Synapse’s homeserver.yaml and federation_whitelist relate to the proposed distinction and how Element could display it. Done requires an agreed server-side representation that supports multiple trusted homeservers and a corresponding client-side indicator.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.