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 61870d6
Browse filesBrowse the repository at this point in the historyBrowse files
return"Local server API route unavailable for "+method+" "+url+" ("+status+"). Start the API-backed local server route instead of a static-only server.";
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.",
Removed the PR_030/PR_031 static-only login fallback. A missing `/api/session/current` now leaves login/session mode unavailable with a visible API-required diagnostic instead of presenting Local Mem or Local DB as usable choices.
6
+
7
+
API-backed Local Mem and SQLite-backed Local DB behavior remains intact behind the server API boundary.
8
+
9
+
## Implementation
10
+
11
+
| Area | Change | Evidence |
12
+
| --- | --- | --- |
13
+
| Login session UI | Removed static fallback mode data/state and now disables Local Mem/Local DB controls when session API reads fail. |`assets/theme-v2/js/login-session.js`|
14
+
| Header/session partials | Removed the shared static diagnostic cache from PR_031; missing session API failures are not cached as success-like browser state. |`assets/theme-v2/js/gamefoundry-partials.js`|
15
+
| Server API client | Removed static API diagnostic cache and duplicate-suppression behavior; missing API requests throw visible diagnostics through the normal client path. |`src/engine/api/server-api-client.js`|
16
+
| Static-only Playwright | Replaced the fallback test with an API-required test that verifies disabled mode controls and actionable diagnostics. |`tests/playwright/tools/StaticOnlyLoginApiRequired.spec.mjs`|
| Remove static-only login fallback behavior added in PR_030/PR_031. | Removed `staticModeDetails`, `staticApiUnavailable`, `renderStaticApiUnavailable`, `GameFoundryStaticApiUnavailableDiagnostic`, and related cache logic. | PASS |
24
+
| Local Mem and Local DB require the correct local API server path when login/session state depends on `/api/session/current`. | Static-only test verifies both buttons are disabled when `/api/session/current` is unavailable. | PASS |
25
+
| If `/api/session/current` is unavailable, show a visible actionable API-required diagnostic. | Static-only test verifies `Session API required` and the route-unavailable diagnostic text. | PASS |
26
+
| Do not pretend login/session mode is usable. | Static-only test verifies Local Mem and Local DB are disabled and not selected. | PASS |
27
+
| Keep errors visible; do not suppress or cache missing API failures as success-like state. | Removed browser static API cache and diagnostic dedupe path from `gamefoundry-partials.js` and `server-api-client.js`. | PASS |
28
+
| Preserve SQLite-backed Local DB behind API boundary. |`LoginSessionMode.spec.mjs` passed 5/5, including Local DB mode. | PASS |
29
+
| Preserve real API-backed Local Mem/Local DB behavior when API server is running. |`LoginSessionMode.spec.mjs` passed 5/5. | PASS |
30
+
| Prove `ShowOneChild.js` / `ActionableCoachmark` is external if still not repo-owned; do not add shims. |`Get-ChildItem -Path . -Recurse -Filter ShowOneChild.js -File` returned no files; scoped active HTML/JS `rg` found only test guard references. No shim added. | PASS |
31
+
| Do not add UAT/Prod behavior. | No UAT/Prod login choices or adapter behavior changed; existing LoginSessionMode assertions still pass. | PASS |
32
+
| Do not modify `start_of_day` folders. |`git status --short` shows no `start_of_day` changes. | PASS |
33
+
| Run changed-file syntax checks. |`node --check` passed for changed JS/spec files. | PASS |
34
+
| Run LoginSessionMode Playwright with API server running. |`npx playwright test tests/playwright/tools/LoginSessionMode.spec.mjs` passed 5/5. | PASS |
35
+
| Add/run static-only login test proving API-required diagnostic appears and login modes do not silently work. |`npx playwright test tests/playwright/tools/StaticOnlyLoginApiRequired.spec.mjs` passed 1/1. | PASS |
36
+
| Run ToolboxRoutePages Playwright. |`npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs` passed 1/1. | PASS |
37
+
| Do not run full samples smoke unless directly impacted. | Full samples smoke skipped; samples and sample loader/framework were not touched. | PASS |
38
+
39
+
## ShowOneChild / ActionableCoachmark Evidence
40
+
41
+
| Check | Evidence | Result |
42
+
| --- | --- | --- |
43
+
| Repo-owned file search |`Get-ChildItem -Path . -Recurse -Filter ShowOneChild.js -File` returned no files. | PASS |
44
+
| Active HTML/JS reference search | Scoped active HTML/JS `rg` found `tests/helpers/browserExtensionNoise.mjs`, `tests/playwright/tools/ApiStaticRouteRecovery.spec.mjs`, and `tests/playwright/tools/StaticOnlyLoginApiRequired.spec.mjs` only. | PASS |
45
+
| Shim check | No `ActionableCoachmark` global or shim was added. | PASS |
|`npx playwright test tests/playwright/tools/StaticOnlyLoginApiRequired.spec.mjs`| PASS, 1/1 |
56
+
|`npx playwright test tests/playwright/tools/LoginSessionMode.spec.mjs`| PASS, 5/5 |
57
+
|`npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs`| PASS, 1/1 |
58
+
|`git diff --check`| PASS, with Git line-ending warning only |
59
+
60
+
## Skipped Lanes
61
+
62
+
| Lane | Decision | Reason |
63
+
| --- | --- | --- |
64
+
| AdminDbViewer Playwright | SKIP | DB Viewer routes and rendering were not changed. |
65
+
| Full samples smoke | SKIP | No sample files, sample loader, or shared sample framework changed. |
66
+
| Full Playwright suite | SKIP | Requested targeted lanes cover the changed login/session and toolbox-route surfaces. |
67
+
68
+
## Notes
69
+
70
+
- Playwright emitted Node SQLite experimental warnings from the existing Local DB path. They are not introduced by this PR and did not fail validation.
71
+
- Historical reports for PR_030/PR_031 still document the older fallback behavior; PR_032 supersedes that behavior in active runtime and test coverage.
0 commit comments