@@ -520,7 +520,7 @@ allocated by that homeserver.
520
520
The precise grammar defining the allowable format of an identifier
521
521
depends on the type of identifier. For example, event IDs can sometimes
522
522
be represented with a ` domain ` component under some conditions - see the
523
- [ Event IDs] ( #room-ids-and- event-ids ) section below for more information.
523
+ [ Event IDs] ( #event-ids ) section below for more information.
524
524
525
525
#### User Identifiers
526
526
@@ -629,22 +629,19 @@ allowing representation of *any* character (unlike punycode, which
629
629
provides no way to encode ASCII punctuation).
630
630
{{% /boxes/rationale %}}
631
631
632
- #### Room IDs and Event IDs
632
+ #### Room IDs
633
633
634
634
A room has exactly one room ID. A room ID has the format:
635
635
636
636
!opaque_id:domain
637
637
638
- An event has exactly one event ID. The format of an event ID depends
639
- upon the [ room version specification] ( /rooms ) .
640
-
641
638
The ` domain ` of a room ID is the [ server name] ( #server-name ) of the
642
- homeserver which created the room/event . The domain is used only for
639
+ homeserver which created the room. The domain is used only for
643
640
namespacing to avoid the risk of clashes of identifiers between
644
- different homeservers. There is no implication that the room or event in
641
+ different homeservers. There is no implication that the room in
645
642
question is still available at the corresponding homeserver.
646
643
647
- Event IDs and Room IDs are case-sensitive. They are not meant to be
644
+ Room IDs are case-sensitive. They are not meant to be
648
645
human-readable. They are intended to be treated as fully opaque strings
649
646
by clients.
650
647
@@ -661,7 +658,21 @@ homeserver to look up the alias.
661
658
Room aliases MUST NOT exceed 255 bytes (including the ` # ` sigil and the
662
659
domain).
663
660
664
- #### URIs
661
+ #### Event IDs
662
+
663
+ An event has exactly one event ID. Event IDs take the form:
664
+
665
+ $opaque_id
666
+
667
+ However, the precise format depends upon the [ room version
668
+ specification] ( /rooms ) : early room versions included a ` domain ` component,
669
+ whereas more recent versions omit the domain and use a base64-encoded hash instead.
670
+
671
+ Event IDs are case-sensitive. They are not meant to be human-readable. They are
672
+ intended to be treated as fully opaque strings by clients.
673
+
674
+
675
+ ### URIs
665
676
666
677
There are two major kinds of referring to a resource in Matrix: matrix.to
667
678
and ` matrix: ` URI. The specification currently defines both as active/valid
@@ -672,7 +683,7 @@ be used to reference particular objects in a given context, such as mentioning
672
683
a user in a message or linking someone to a particular point in the room's
673
684
history (a permalink).
674
685
675
- ##### Matrix URI scheme
686
+ #### Matrix URI scheme
676
687
677
688
{{% added-in v="1.2" %}}
678
689
@@ -777,7 +788,7 @@ Examples of common URIs are:
777
788
A suggested client implementation algorithm is available in the
778
789
[ original MSC] ( https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/2312-matrix-uri.md#recommended-implementation ) .
779
790
780
- ##### matrix.to navigation
791
+ #### matrix.to navigation
781
792
782
793
{{% boxes/note %}}
783
794
This namespacing existed prior to a ` matrix: ` scheme. This is ** not**
@@ -841,7 +852,7 @@ matrix.to URIs pointing to groups might still exist: they take the form
841
852
may not be encoded).
842
853
{{% /boxes/note %}}
843
854
844
- ##### Routing
855
+ #### Routing
845
856
846
857
Room IDs are not routable on their own as there is no reliable domain to
847
858
send requests to. This is partially mitigated with the addition of a
0 commit comments