Repository navigation
Conversation
Deploying matrix-authentication-service-docs with
|
| Latest commit: |
f231f48
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://8f96670b.matrix-authentication-service-docs.pages.dev |
| Branch Preview URL: | https://devonh-open-room.matrix-authentication-service-docs.pages.dev |
devonh
force-pushed
the
devonh/open-room
branch
from
October 9, 2026 20:10
3510a66 to
8bf797f
Compare
devonh
commented
Oct 11, 2026
| @@ -1,3 +1,4 @@ | |||
| // Copyright 2025, 2026 Element Creations Ltd. | |||
devonh
commented
Oct 11, 2026
| @@ -1,3 +1,4 @@ | |||
| // Copyright 2025, 2026 Element Creations Ltd. | |||
devonh
commented
Oct 11, 2026
| @@ -1,3 +1,4 @@ | |||
| // Copyright 2025, 2026 Element Creations Ltd. | |||
devonh
commented
Oct 11, 2026
| @@ -1,3 +1,4 @@ | |||
| // Copyright 2025, 2026 Element Creations Ltd. | |||
devonh
commented
Oct 11, 2026
| @@ -1,3 +1,4 @@ | |||
| // Copyright 2025, 2026 Element Creations Ltd. | |||
devonh
commented
Oct 11, 2026
| @@ -1,3 +1,4 @@ | |||
| // Copyright 2025, 2026 Element Creations Ltd. | |||
devonh
marked this pull request as ready for review
October 11, 2026 03:50
sandhose
force-pushed
the
devonh/open-room
branch
from
October 13, 2026 09:32
11b6cfb to
55d0eef
Compare
sandhose
force-pushed
the
devonh/open-room
branch
from
October 13, 2026 12:02
55d0eef to
fa62a16
Compare
sandhose
force-pushed
the
devonh/open-room
branch
from
October 13, 2026 13:35
fa62a16 to
1c8698d
Compare
OpenRoom post-auth action
sandhose
force-pushed
the
devonh/open-room
branch
from
October 16, 2026 09:29
44b9a19 to
1db42f8
Compare
sandhose
force-pushed
the
devonh/open-room
branch
from
October 16, 2026 09:34
1db42f8 to
a0121ae
Compare
Holds the settings for inviting guests to rooms by email, starting with
the client URL invitees are sent to once they are signed in. The value
goes on `SiteConfig`, which the admin handlers and the views already
take.
`client_room_url` is a string rather than a URL, because parsing it as
one would percent-encode the braces of a `{room_id}` placeholder in its
path, which would then never be replaced. Whenever it is set, it must
contain `{room_id}` and still parse as an absolute `http` or `https` URL
with a host once the placeholder is filled in, so that `/open-room`
never redirects relative to MAS.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Guest invite links need to land the invitee on the room in their client once they have registered or signed in. Post-auth actions can only name MAS's own routes, because `go_next` has no access to config, so `OpenRoom` goes to a new `GET /open-room`, which redirects to the configured `client_room_url` with the room ID in it. The action carries a room ID and never a URL: actions come from query strings, so a URL in one would be an open redirect. The room ID is percent-encoded with `urlencoding` rather than as a form value, because clients decode the fragment with `decodeURIComponent`, which doesn't turn `+` back into a space. Without a client URL, or without a room ID that `ruma` parses and that has no control or bidirectional characters, it goes where a missing post-auth action goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The section only says where to send someone invited to a room, so it is named after room invites. Nothing is released yet, so no alias for the old key is kept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RkxQWj8RAKd7iZ1JQtXdxm
A token can now name a room, so that the links built from it can find the room without carrying it in their URLs. The column is nullable and nothing sets it yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RkxQWj8RAKd7iZ1JQtXdxm
`ContinueRoomInvite { id }` replaces `OpenRoom { room_id }`, so no MAS
URL carries a room ID, and none can be edited to name another room. Its
`go_next` goes to `GET /open-room/{id}`, which reads the room from the
registration token and redirects to the configured client.
The lookup ignores the token's validity: a used, expired or revoked
token can no longer register anyone, but still names the room its
invite was for. That is what lets an invite link opened again, or a
second invite link for the same address, reach its room.
The route trusts the room on the token, leaving the check to whatever
sets it, so `room_id.rs` goes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RkxQWj8RAKd7iZ1JQtXdxm
The registration page takes its post-auth action from the query if it has one, and otherwise opens the room of the registration token it was given. That covers a browser already signed in, which goes straight to the room; the page's Sign in link and provider buttons; and the registration itself, which stores the action so that every later step follows it, including the email-in-use page's Start over. The token is looked up whatever its validity, before the signed-in redirect: a used token still names its room, which is how an invite link opened again after registering, or a second invite for the same address, reaches its room. Only registering needs a valid token. The page of an invalid invite doesn't submit its token, so a submission without one takes it from the page's URL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RkxQWj8RAKd7iZ1JQtXdxm
sandhose
force-pushed
the
devonh/open-room
branch
from
October 16, 2026 12:58
a0121ae to
f231f48
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of https://github.com/element-hq/backend-internal/issues/292
Reviewable commit by commit.
Adds a post-auth action that sends the user to a room in Element Web once they have signed in or registered. It's the first piece of guest invites by email. The guest invite link will carry the room, and the invitee will land on it after signing up.
Nothing builds an
OpenRoomlink yet. That happens in the follow on PR #6026This just lays the groundwork for handling room redirects for guest registration.
Later commits rework this to:
room_invitesterminology everywhere and not mention guestsroom_idto the registration token itselfContinueRoomInviteto match the existing MAS actions better