feat(chat): Admin UI for invitation redirect URIs - #318
Merged
kkopanidis merged 2 commits intoSep 13, 2026
Conversation
ChrisPdgn
force-pushed
the
cursor/feat-chat-invitation-redirect-uris-aa3b
branch
from
September 10, 2026 12:58
4be52a7 to
5fb2d11
Compare
ChrisPdgn
marked this pull request as ready for review
September 10, 2026 13:13
Wire Chat admin settings to explicit_room_joins.redirect
from Conduit #1512 so login/accept/decline URIs can be
configured without treating {roomId} as an invalid URL.
Co-authored-by: Christina Papadogianni <ChrisPdgn@users.noreply.github.com>
Use equivalent empty-string fallbacks so TypeScript does not see overwritten keys, and default the optional redirect object so submit stays assignable to ChatSettings.
kkopanidis
force-pushed
the
cursor/feat-chat-invitation-redirect-uris-aa3b
branch
from
September 13, 2026 11:28
5fb2d11 to
70737de
Compare
kkopanidis
approved these changes
Sep 13, 2026
kkopanidis
deleted the
cursor/feat-chat-invitation-redirect-uris-aa3b
branch
September 13, 2026 11:30
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.
What kind of change does this PR introduce? (check at least one)
Does this PR introduce a breaking change? (check one)
The PR fulfills these requirements:
masterbranchfix #xxx, where "xxx" is the issue number)If adding a new feature, the PR's description includes:
Other information:
Draft Admin UI for Chat invitation redirects so operators can configure the login / accept / decline destinations that Conduit chat invitation emails now depend on. Without these fields, the admin panel cannot persist
explicit_room_joins.redirectand unauthenticated email-link clicks fail untillogin_uriis set.This is a draft PR against
ui-rewrite. Do not mark ready or merge until backend Conduit #1512 lands and the form is verified against a live Chat config that includesexplicit_room_joins.redirect.Summary
Chat Settings now exposes three invitation redirect URI inputs that map 1:1 to Conduit
explicit_room_joins.redirect:login_uri?redirectUri=...&answer=...&invitationToken=...so login can return to the hook. Empty means those clicks fail until configured.accept_uri{roomId}. Empty returns JSON instead of redirecting.decline_uri{roomId}. Empty returns JSON instead of redirecting.Validation uses plain strings, not
z.string().url(), so{roomId}placeholders are accepted. Missingredirectfrom older Chat config is merged to empty strings so RHF stays controlled. The optional Zod object also defaults to empty strings sopatchChatSettingsstays assignable toChatSettings.Existing explicit-join switches, ModuleToggle, and
patchChatSettingsare unchanged — the new object rides the same submit path.Validation
Exercised on the ui-rewrite admin at Chat → Settings against a local Conduit 0.17 standalone (admin/admin):
https://example.com/chat/{roomId}is accepted (no URL-schema error).explicit_room_joins.enabledflag succeeds.GET /config/chatafter save does not containredirect— expected until Conduit #1512 is deployed. This 0.17 convict config has noexplicit_room_joins.redirectkeys, so those values are stripped server-side.Test plan
accept_uriwith{roomId}(noz.string().url()rejection)login_uri/accept_uri/decline_uriand confirm they persist after reload — blocked until Conduit #1512login_uri?redirectUri=...Related: ConduitPlatform/Conduit#1512