clarify the charsets of our lexicographic orderings
@@ -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
