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 7451844
Browse filesBrowse the repository at this point in the historyBrowse files
constapiBackedLoginDiagnostic="Use the API-backed local server for login.";
113
114
114
115
functionassetUrl(path){
115
116
if(!assetRoot)returnrootPrefix()+path;
@@ -142,6 +143,11 @@
142
143
return"Local server API route unavailable for "+method+" "+url+" ("+status+"). Start the API-backed local server route instead of a static-only server.";
# PR_26158_033 Local Server Entrypoint Cleanup Report
2
+
3
+
## Executive Summary
4
+
5
+
Static `127.0.0.1:5500` is no longer treated as a supported login/session entrypoint. When `login.html` is opened from that static server, the page displays:
6
+
7
+
`Use the API-backed local server for login.`
8
+
9
+
The static 5500 path does not call `/api/session/current`, and Local Mem / Local DB controls remain disabled. API-backed Local Mem and Local DB behavior still works through the real local server.
10
+
11
+
## Implementation
12
+
13
+
| Area | Change | Evidence |
14
+
| --- | --- | --- |
15
+
| Login page runtime | Detects `127.0.0.1:5500` / `localhost:5500` before session API calls and renders the API-backed server diagnostic. |`assets/theme-v2/js/login-session.js`|
16
+
| Shared header partial | Detects the unsupported static local entrypoint before header/account session reads, preventing `/api/session/current` from static 5500 pages. |`assets/theme-v2/js/gamefoundry-partials.js`|
17
+
| Static Playwright | Uses `127.0.0.1:5500` explicitly and asserts no `/api/session/current` or `/api/session/` requests are made. |`tests/playwright/tools/StaticOnlyLoginApiRequired.spec.mjs`|
| Remove static `127.0.0.1:5500` as a supported login/session entrypoint. | Static 5500 detection now renders a blocked diagnostic before session API usage. | PASS |
25
+
| Add visible page diagnostic: `Use the API-backed local server for login.`| Static 5500 Playwright verifies this exact text appears in login status. | PASS |
26
+
| Do not call `/api/session/current` from static-only 5500 pages. | Static 5500 Playwright records all requests and asserts no `/api/session/current` or `/api/session/` requests. | PASS |
27
+
| Do not make Local Mem or Local DB appear usable from static-only 5500. | Static 5500 Playwright verifies both mode buttons are disabled and not selected. | PASS |
28
+
| Preserve API-backed Local Mem and Local DB behavior when served from the real local server. |`LoginSessionMode.spec.mjs` passed 5/5. | PASS |
29
+
| Document `ShowOneChild.js` / `ActionableCoachmark` is browser-extension injected if repo audit confirms it. | Repo audit found no `ShowOneChild.js` file and no active repo HTML/JS load path; test noise filtering only treats those names as extension noise when an extension URL scheme is present. Therefore any observed runtime `ShowOneChild.js` / `ActionableCoachmark` error is browser-extension injected, not repo-served. | PASS |
30
+
| Do not add shims or fallbacks. | No `ActionableCoachmark` global, static API fallback, or login fallback shim was added. | PASS |
31
+
| Do not add UAT/Prod behavior. | No UAT/Prod login choices or adapter behavior changed. | PASS |
32
+
33
+
## ShowOneChild / ActionableCoachmark Evidence
34
+
35
+
| Check | Evidence | Result |
36
+
| --- | --- | --- |
37
+
| Repo-owned file search |`Get-ChildItem -Path . -Recurse -Filter ShowOneChild.js -File` returned no files. | PASS |
38
+
| Active HTML/JS reference search | Scoped active HTML/JS `rg` found only `tests/helpers/browserExtensionNoise.mjs`, `tests/playwright/tools/ApiStaticRouteRecovery.spec.mjs`, and `tests/playwright/tools/StaticOnlyLoginApiRequired.spec.mjs`. | PASS |
39
+
| Browser-extension injection conclusion | No repo-owned file or load path exists. The existing helper requires `chrome-extension://`, `moz-extension://`, or `extension://` before treating these script names as extension noise. | PASS |
40
+
| Shim check | No shim or fallback global was added. | PASS |
|`npx playwright test tests/playwright/tools/StaticOnlyLoginApiRequired.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
+
## Skipped Lanes
56
+
57
+
| Lane | Decision | Reason |
58
+
| --- | --- | --- |
59
+
| AdminDbViewer Playwright | SKIP | DB Viewer routes and rendering were not changed. |
60
+
| Full samples smoke | SKIP | No sample files, sample loader, or shared sample framework changed. |
61
+
| Full Playwright suite | SKIP | Requested targeted lanes cover the changed login/session and toolbox-route surfaces. |
62
+
63
+
## Notes
64
+
65
+
- Playwright emitted Node SQLite experimental warnings from the existing Local DB path. They are not introduced by this PR and did not fail validation.
66
+
- This PR intentionally does not add fallback behavior for static servers. The visible diagnostic directs users to the API-backed local server.
| Runtime JS V8 coverage | Playwright coverage generated by targeted runs | PASS/WARN; `docs_build/dev/reports/playwright_v8_coverage_report.txt` and `coverage_changed_js_guardrail.txt` generated. |
14
14
15
15
## Validation Notes
16
16
17
17
| Check | Evidence | Result |
18
18
| --- | --- | --- |
19
-
| Static-only login shows visible API-required diagnostic. |`StaticOnlyLoginApiRequired.spec.mjs` serves `login.html`from a static-only `127.0.0.1` server and verifies `Session API required` plus the `/api/session/current` route-unavailable diagnostic. | PASS |
20
-
| Static-only login modes do not silently work. |`StaticOnlyLoginApiRequired.spec.mjs`verifies Local Mem and Local DB buttons are disabled and not selected when `/api/session/current`is unavailable. | PASS |
21
-
| Static-only login does not make mode/user session updates. |`StaticOnlyLoginApiRequired.spec.mjs`verifies no `/api/session/mode`, `/api/session/users`, or `/api/session/modes` requests occur. | PASS |
19
+
| Static`127.0.0.1:5500`login shows visible API-backed server diagnostic. |`StaticOnlyLoginApiRequired.spec.mjs` serves `login.html`on `127.0.0.1:5500`and verifies `Use the API-backed local server for login.` is visible. | PASS |
20
+
| Static`127.0.0.1:5500`login does not call `/api/session/current`. |`StaticOnlyLoginApiRequired.spec.mjs`records all requests and asserts no request URL contains `/api/session/current`or `/api/session/`. | PASS |
21
+
| Static`127.0.0.1:5500`login modes do not appear usable. |Static lane verifies Local Mem and Local DB buttons are disabled and not selected. | PASS |
22
22
| API-backed Local Mem and Local DB behavior still works. |`LoginSessionMode.spec.mjs` passed 5/5, including Local DB session behavior. | PASS |
23
23
| Toolbox route pages still render. |`ToolboxRoutePages.spec.mjs` passed 1/1 for Project Journey, Colors, and Assets `/tools/...` aliases. | PASS |
24
24
| Repo-owned ShowOneChild/ActionableCoachmark errors are absent. | Static-only Playwright asserts no non-extension `ShowOneChild`, `showOneChild`, or `ActionableCoachmark` error text in page or console errors. | PASS |
@@ -29,4 +29,4 @@
29
29
| --- | --- | --- |
30
30
| AdminDbViewer Playwright | SKIP | DB Viewer routes, DB adapters, and admin DB rendering were not changed. |
31
31
| Full samples smoke | SKIP | No samples, shared sample loader, or sample framework files changed. |
32
-
| Full Playwright suite | SKIP | Static-only login, API-backed login, toolbox route, syntax, static, and V8 coverage checks cover the changed surfaces. |
32
+
| Full Playwright suite | SKIP | Static 5500 login, API-backed login, toolbox route, syntax, static, and V8 coverage checks cover the changed surfaces. |
0 commit comments