From eadde4a9d0d2e90f593a0ca35c7158ff6e324282 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 16 Aug 2026 15:46:15 -0700 Subject: [PATCH] fix(ui): show recovery when Control UI does not render (#124861) * fix(ui): retire bootstrap fallback after render * test(ui): avoid returning from Promise executor --- docs/web/control-ui.md | 2 +- ui/index.html | 47 +++----- ui/src/app/app-root.ts | 6 + ui/src/app/mount-fallback.test.ts | 14 ++- ui/src/e2e/login-gate.e2e.test.ts | 39 ++++++ ui/src/e2e/mount-fallback.e2e.test.ts | 163 ++++++++++++++++++++++++++ 6 files changed, 235 insertions(+), 36 deletions(-) create mode 100644 ui/src/e2e/mount-fallback.e2e.test.ts diff --git a/docs/web/control-ui.md b/docs/web/control-ui.md index 49410f6c239..886960ebf8b 100644 --- a/docs/web/control-ui.md +++ b/docs/web/control-ui.md @@ -754,7 +754,7 @@ Then point the UI at your Gateway WS URL (e.g. `ws://127.0.0.1:18789`). ## Blank Control UI page -If the browser loads a blank dashboard and DevTools shows no useful error, an extension or early content script may have prevented the JavaScript module app from evaluating. The static page includes a plain HTML recovery panel that appears when `` is not registered after startup. +If the browser loads a blank dashboard and DevTools shows no useful error, an extension or early content script may have prevented the JavaScript module app from evaluating. The static page includes a plain HTML recovery panel that appears when `` does not complete its first render after startup. Use the panel's **Try again** action after changing the browser environment, or reload manually after these checks: diff --git a/ui/index.html b/ui/index.html index 131fc162224..50d11f5ce82 100644 --- a/ui/index.html +++ b/ui/index.html @@ -313,8 +313,7 @@