matrix-org / matrix-org/matrix-spec
CS API refers to undefined terms `stream ordering` and `topological ordering`
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
**Link to problem area**:
- stream: https://spec.matrix.org/v1.4/client-server-api/#get_matrixclientv3sync definition of `m.heroes` under "Room Summary"
- threads: e.g. https://spec.matrix.org/v1.4/client-server-api/#get_matrixclientv1roomsroomidrelationseventid
**Issue**
From https://spec.matrix.org/v1.4/client-server-api/#get_matrixclientv3sync definition of `m.heroes` under "Room Summary" defining `m.heroes`:
> The users which can be used to generate a room name if the room does not have one. Required if the room’s m.room.name or m.room.canonical_alias state events are unset or empty.
>
> **This should be the first 5 members of the room, ordered by stream ordering, which are joined or invited.** The list must never include the client’s own user ID. When no joined or invited members are available, this should consist of the banned and left users. More than 5 members may be provided, however less than 5 should only be provided when there are less than 5 members to represent.
(emphasis mine.)
It is not clear what "stream ordering" means. (AFAIK is a concept that Synapse defines for its own use?)
https://spec.matrix.org/v1.4/appendices/ makes no mention either.
Similarly much of the relations work speaks of "topological ordering" that isn't defined either.
Related:
- #1167
- #125
- #852
Contributor guide
Research direction
Start with the Client-Server API's /sync Room Summary definition of m.heroes, then inspect the relations sections linked in the issue and the appendices. Check whether stream ordering and topological ordering are defined elsewhere in the specification; the work is complete when both terms have clear, consistent definitions or references in the relevant sections.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100