From 26054089722e7ca023927bb5d1239b4f5673fe87 Mon Sep 17 00:00:00 2001 From: Jason Little Date: Tue, 30 Jun 2026 08:45:44 -0500 Subject: [PATCH 1/2] Remove check on Room IDs having a domain component as Room IDs should be opaque strings --- event.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/event.go b/event.go index 9d605abf..efa8339d 100644 --- a/event.go +++ b/event.go @@ -65,9 +65,6 @@ const ( ) func checkID(id, kind string, sigil byte) (err error) { - if _, err = domainFromID(id); err != nil { - return - } if id[0] != sigil { err = fmt.Errorf( "gomatrixserverlib: invalid %s ID, wanted first byte to be '%c' got '%c'", From b97d4a0a3ce1ebb31c66ccaea8fac1e3bf969b68 Mon Sep 17 00:00:00 2001 From: Jason Little Date: Tue, 30 Jun 2026 10:48:00 -0500 Subject: [PATCH 2/2] Ensure this check still exists for other kinds of ID, like "user" To be fair, "user" is only featured once while "room" is far more prevelant --- event.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/event.go b/event.go index efa8339d..0580835a 100644 --- a/event.go +++ b/event.go @@ -65,6 +65,12 @@ const ( ) func checkID(id, kind string, sigil byte) (err error) { + if kind != "room" { + // RoomIDs should always be an opaque string, so only do this check for other kinds of ID + if _, err = domainFromID(id); err != nil { + return + } + } if id[0] != sigil { err = fmt.Errorf( "gomatrixserverlib: invalid %s ID, wanted first byte to be '%c' got '%c'",