diff --git a/src/settings/DeveloperSettingsTab.test.tsx b/src/settings/DeveloperSettingsTab.test.tsx index c18cf23b..7bdf7091 100644 --- a/src/settings/DeveloperSettingsTab.test.tsx +++ b/src/settings/DeveloperSettingsTab.test.tsx @@ -79,6 +79,7 @@ describe("DeveloperSettingsTab", () => { const { container } = render( , diff --git a/src/settings/DeveloperSettingsTab.tsx b/src/settings/DeveloperSettingsTab.tsx index 7f90c4c1..d16e3ef7 100644 --- a/src/settings/DeveloperSettingsTab.tsx +++ b/src/settings/DeveloperSettingsTab.tsx @@ -22,13 +22,13 @@ import { import { logger } from "matrix-js-sdk/lib/logger"; import { EditInPlace, + ErrorMessage, Root as Form, Heading, HelpMessage, InlineField, Label, RadioControl, - Text, } from "@vector-im/compound-web"; import { FieldRow, InputField } from "../input/Input"; @@ -50,6 +50,7 @@ import { getSFUConfigWithOpenID } from "../livekit/openIDSFU"; interface Props { client: MatrixClient; + roomId: string; livekitRooms?: { room: LivekitRoom; url: string; isLocal?: boolean }[]; env: ImportMetaEnv; } @@ -57,6 +58,7 @@ interface Props { export const DeveloperSettingsTab: FC = ({ client, livekitRooms, + roomId, env, }) => { const { t } = useTranslation(); @@ -221,7 +223,6 @@ export const DeveloperSettingsTab: FC = ({ />{" "} e.preventDefault()} helpLabel={ customLivekitUrl === null @@ -240,30 +241,22 @@ export const DeveloperSettingsTab: FC = ({ customLivekitUrlTextBuffer === null ) { setCustomLivekitUrl(null); - return Promise.resolve(); + return; } try { - logger.debug("try setting"); await getSFUConfigWithOpenID( client, customLivekitUrlTextBuffer, - "Test-room-alias-" + Date.now().toString() + client.getUserId(), + roomId, ); - logger.debug("done setting! Success"); setCustomLivekitUrlUpdateError(null); setCustomLivekitUrl(customLivekitUrlTextBuffer); - } catch (e) { - logger.error("failed setting", e); + } catch { setCustomLivekitUrlUpdateError("invalid URL (did not update)"); - // automatically unset the error after 4 seconds (2 seconds will be for the save label) - setTimeout(() => { - logger.debug("unsetting error"); - setCustomLivekitUrlUpdateError(null); - }, 2000); } }, - [customLivekitUrlTextBuffer, setCustomLivekitUrl, client], + [customLivekitUrlTextBuffer, setCustomLivekitUrl, client, roomId], )} value={customLivekitUrlTextBuffer ?? ""} onChange={useCallback( @@ -278,11 +271,10 @@ export const DeveloperSettingsTab: FC = ({ }, [setCustomLivekitUrl], )} + serverInvalid={customLivekitUrlUpdateError !== null} > {customLivekitUrlUpdateError !== null && ( - - {customLivekitUrlUpdateError} - + {customLivekitUrlUpdateError} )} diff --git a/src/settings/SettingsModal.tsx b/src/settings/SettingsModal.tsx index 2b4078aa..30ac3618 100644 --- a/src/settings/SettingsModal.tsx +++ b/src/settings/SettingsModal.tsx @@ -213,6 +213,7 @@ export const SettingsModal: FC = ({ env={import.meta.env} client={client} livekitRooms={livekitRooms} + roomId={roomId} /> ), };