matrix-org / matrix-org/matrix-spec

CS API refers to undefined terms `stream ordering` and `topological ordering`

Open
#1,334 2 comments 1 reaction 0 assignees View on GitHub
clarification
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.