diff --git a/src/app/components/ServerConfigsLoader.tsx b/src/app/components/ServerConfigsLoader.tsx index 0c79dc9eb..8b541c4b7 100644 --- a/src/app/components/ServerConfigsLoader.tsx +++ b/src/app/components/ServerConfigsLoader.tsx @@ -31,10 +31,14 @@ export function ServerConfigsLoader({ children }: ServerConfigsLoaderProps) { const authMetadata = promiseFulfilledResult(result[2]); let validatedAuthMetadata: ValidatedAuthMetadata | undefined; - try { - validatedAuthMetadata = validateAuthMetadata(authMetadata); - } catch (e) { - console.error(e); + // Only validate if the server returned metadata — a rejected promise means no native + // Matrix OIDC (MSC3861/MAS), which is normal for servers using traditional SSO. + if (authMetadata !== undefined) { + try { + validatedAuthMetadata = validateAuthMetadata(authMetadata); + } catch (e) { + console.error(e); + } } return { diff --git a/src/app/pages/Router.tsx b/src/app/pages/Router.tsx index 77cf5c28a..1e4af8225 100644 --- a/src/app/pages/Router.tsx +++ b/src/app/pages/Router.tsx @@ -105,7 +105,7 @@ export const createRouter = (clientConfig: ClientConfig, screenSize: ScreenSize) const mobile = screenSize === ScreenSize.Mobile; const routes = createRoutesFromElements( - + null}> {