matrix-org / matrix-org/matrix-spec

`PUT /directory/list/room/:roomID` can have additional access control checks, but clients can't predict what those are

Open
#981 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

When reading [`PUT /_matrix/client/r0/directory/list/room/:roomID`](https://spec.matrix.org/v1.2/client-server-api/#put_matrixclientv3directorylistroomroomid), I notice the spec says that 'servers may choose to add additional access control checks'...

Unfortunately this then means that the client can't predict whether the server will let it add a room to the directory before actually doing it. Knowing this information would likely be useful for displaying a 'greyed out' state on the form when appropriate (and maybe more appropriately: not showing it when not appropriate).

This seems related to vector-im/element-meta#287 where Element Web bases the 'greyed out' state of the checkbox on a separate factor to whether you're actually allowed to change it, which means that users who *can* do it are being misled and shown that they *can't*.

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

Read the linked Matrix client-server API endpoint and the related Element Web issue first. Develop a specification-level approach for making directory-list permission checks predictable to clients, with completion defined by a documented interoperable behavior.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.