clarify the charsets of our lexicographic orderings

matthew/msc1772
Matthew Hodgson 3 years ago
parent 00912f9c1e
commit f07e82e34b

@ -115,10 +115,11 @@ relationship can be expressed in one of two ways:
The `order` key is a string which is used to provide a default ordering of
siblings in the room list. (Rooms are sorted based on a lexicographic
ordering of the characters in `order` values; rooms with no `order`
come last. `order`s which are not strings, or do not consist solely of
ascii characters in the range `\x20` (space) to `\x7F` (`~`), or consist of
more than 50 characters, are forbidden and should be ignored if received.)
ordering of the Unicode codepoints of the characters in `order` values;
rooms with no `order` come last. `order`s which are not strings, or do not
consist solely of ascii characters in the range `\x20` (space) to `\x7F`
(`~`), or consist of more than 50 characters, are forbidden and should be
ignored if received.)
2. Separately, rooms can claim parents via the `m.space.parent` state
event.
@ -189,8 +190,9 @@ when a client spots a loop in parent->child or child->parent relationships, it
MUST ignore the cycle by cutting it such that the oldest space-room is the
root (i.e. oldest parent). 'Oldest' means the room whose `m.room.create`
event has the numerically smallest `origin_server_ts`. If the oldest rooms
are precisely the same age, we select the root as the room with the
lexicographically smallest `room_id`.
are precisely the same age, we select the root as the room with the smallest
`room_id` (lexicographically comparing the Unicode code-points of the
`room_id` string).
### Suggested children

Loading…
Cancel
Save