From b088cb17b80896384f3d01da134464de820ac2d4 Mon Sep 17 00:00:00 2001 From: Lotus Bot Date: Fri, 22 May 2026 14:24:06 -0400 Subject: [PATCH] fix: silence expected console noise from OIDC discovery and router hydration - ServerConfigsLoader: skip validateAuthMetadata when getAuthMetadata() rejects (404 on /auth_issuer means server uses traditional SSO, not native Matrix OIDC/MAS - this is expected and should not log errors) - Router: use HydrateFallback={() => null} instead of hydrateFallbackElement={null} so react-router v7 counts it as truthy and suppresses the spurious warning Co-Authored-By: Claude Sonnet 4.6 --- src/app/components/ServerConfigsLoader.tsx | 12 ++++++++---- src/app/pages/Router.tsx | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) 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}> {