You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit df30ade
Browse filesBrowse the repository at this point in the historyBrowse files
description: "Uses MockDbAdapter backed by in-memory lists when the API-backed local server is running.",
19
+
diagnostic: "Static-only server detected. Local Mem selection remains available, but local users and persistence require the API-backed local server.",
20
+
environment: "Local Mem",
21
+
id: "local-mem",
22
+
label: "Local Mem",
23
+
persistence: "Memory",
24
+
},
25
+
"local-db": {
26
+
description: "Uses LocalDbAdapter backed by server SQLite storage.",
27
+
diagnostic: "Static-only server detected. Local DB requires the API-backed local server; start the local server API to use SQLite-backed Local DB.",
# PR_26158_030 Static Server Login Fallback Report
2
+
3
+
## Summary
4
+
5
+
Added a UI-only static-server login fallback so `127.0.0.1:5500`-style static serving keeps Local Mem selectable while showing Local DB as API-required.
| Fix static-only local serving from `127.0.0.1:5500` so `/api/session/current` 404 does not leave login modes disabled. | PASS |`assets/theme-v2/js/login-session.js` renders a static API-unavailable mode state, and `StaticOnlyLoginFallback.spec.mjs` verifies both mode buttons are enabled on a static-only `127.0.0.1` server with missing `/api`. |
17
+
| Local Mem remains enabled and clickable when the API server is unavailable. | PASS | Static-only Playwright clicks Local Mem and verifies it remains selected with an actionable API-backed server diagnostic. |
18
+
| Local DB shows a visible actionable diagnostic when API server is unavailable. | PASS | Static-only Playwright clicks Local DB and verifies the status says Local DB requires the API-backed local server for SQLite-backed Local DB. |
19
+
| Fix or remove repo-owned dependency causing `ShowOneChild.js` to throw `ActionableCoachmark is not defined`. | PASS | No active repo runtime dependency was found. No global was added. |
20
+
| If `ShowOneChild.js` is not repo-owned, prove that in report and do not mask repo-owned errors. | PASS | Focused search over active runtime roots found no `ShowOneChild` or `ActionableCoachmark`. `tests/helpers/browserExtensionNoise.mjs` now requires extension URL schemes before ignoring named script noise. |
21
+
| Preserve SQLite-backed Local DB behind API boundary when API server is running. | PASS |`LoginSessionMode.spec.mjs` passed 5/5 in API-backed mode; Local DB still resolves through API routes. |
22
+
| Do not add UAT/Prod API adapter behavior. | PASS | No adapter behavior was added. |
23
+
| Do not expose UAT or Prod as local login choices. | PASS | LoginSessionMode and static-only login coverage assert UAT/Prod controls are absent. |
24
+
| Do not modify `start_of_day` folders. | PASS | Changed-file list contains no `start_of_day` paths. |
25
+
| Run changed-file syntax checks. | PASS |`node --check` passed for changed JS/spec files. |
26
+
| Run LoginSessionMode Playwright in API-backed mode. | PASS |`npx playwright test tests/playwright/tools/LoginSessionMode.spec.mjs` passed 5/5. |
27
+
| Add/run static-only login Playwright coverage for `127.0.0.1:5500`-style behavior with missing API. | PASS |`npx playwright test tests/playwright/tools/StaticOnlyLoginFallback.spec.mjs` passed 1/1. |
28
+
| Run ToolboxRoutePages Playwright. | PASS |`npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs` passed 1/1. |
29
+
| Do not run full samples smoke unless directly impacted. | PASS | Full samples smoke skipped because no samples or shared sample loader/framework changed. |
|`npx playwright test tests/playwright/tools/StaticOnlyLoginFallback.spec.mjs`| PASS, 1/1 |
51
+
|`npx playwright test tests/playwright/tools/LoginSessionMode.spec.mjs`| PASS, 5/5 |
52
+
|`npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs`| PASS, 1/1 |
53
+
|`git diff --check`| PASS, with Git line-ending warnings only |
54
+
55
+
## Notes
56
+
57
+
- The static fallback is intentionally UI-only. It does not create local users, authenticate Guest, or persist data without the API-backed local server.
58
+
- Node emitted the standard experimental warning for `node:sqlite` during API-backed Playwright lanes; validation passed.
|Login/session local API routes avoid 404/405 on supported local server calls. |`ApiStaticRouteRecovery.spec.mjs`validates `HEAD /api/session/current`, `OPTIONS /api/session/mode`, GET current/modes/users, and POST mode/user/logout. | PASS |
20
-
|Local Mem and Local DB remain enabled/clickable. |LoginSessionMode and ApiStaticRouteRecovery assert Local Mem/Local DB controls are enabled. | PASS |
21
-
|SQLite-backed Local DB remains behind the API boundary. | LoginSessionMode Local DB flow and AdminDbViewer Local DB readonly/diagnostic tests passed. | PASS |
22
-
|`/tools/.../index.html` route pages still render content. | ToolboxRoutePages opens Project Journey, Colors, and Assets aliases with no failed requests. | PASS |
23
-
|Extension script noise is ignored without masking repo global pollution. |Active runtime search found no `ShowOneChild` or `ActionableCoachmark`; Playwright filters only known extension script names and does not ignore bare `ActionableCoachmark`repo errors. | PASS |
24
-
|UAT/Prod remain absent from local login choices. |LoginSessionMode and ApiStaticRouteRecovery assert UAT/Prod buttons are absent. | PASS |
18
+
|Static-only login keeps Local Mem enabled and clickable when `/api/session/current` 404s. |`StaticOnlyLoginFallback.spec.mjs`serves `login.html` from a static-only `127.0.0.1` server and verifies Local Mem remains enabled, selected, and clickable after API 404s. | PASS |
19
+
|Static-only Local DB shows visible actionable diagnostic. |`StaticOnlyLoginFallback.spec.mjs` clicks Local DB and verifies the status text says Local DB requires the API-backed local server for SQLite-backed Local DB. | PASS |
20
+
|API-backed Local Mem and Local DB behavior still works. |`LoginSessionMode.spec.mjs` passed 5/5. | PASS |
21
+
|Toolbox route pages still render. |`ToolboxRoutePages.spec.mjs` passed 1/1 for Project Journey, Colors, and Assets `/tools/...` aliases. | PASS |
22
+
|`ShowOneChild.js`is not active repo-owned runtime. |Focused `rg` over active `assets`, `src`, `toolbox`, and `admin` runtime files found no `ShowOneChild` or `ActionableCoachmark`dependency. | PASS |
23
+
|Extension-noise filter does not mask repo-owned errors. |`tests/helpers/browserExtensionNoise.mjs` now ignores named scripts only when the error text includes an extension URL scheme. Bare repo-owned `ShowOneChild.js` errors still fail tests. | PASS |
25
24
26
25
## Skipped Lanes
27
26
28
27
| Lane | Decision | Reason |
29
28
| --- | --- | --- |
29
+
| AdminDbViewer Playwright | SKIP | DB route behavior was not changed in this PR; API-backed LoginSessionMode covers Local DB login behavior. |
30
30
| Full samples smoke | SKIP | No samples, shared sample loader, or sample framework files changed. |
31
-
| Full Playwright suite | SKIP |Targeted API route, login/session, toolbox route, AdminDbViewer, syntax, and static checks cover the changed surfaces. |
31
+
| Full Playwright suite | SKIP |Static-only login, API-backed login, toolbox route, syntax, static, and V8 coverage checks cover the changed surfaces. |
0 commit comments