fix(ui): redirect app root to lobby/login; evict stale root service worker
Tests · UI / test (push) Has been cancelled
Build · Site / build (push) Successful in 8s
Tests · Integration / integration (pull_request) Successful in 1m42s
Build · Site / build (pull_request) Successful in 6s
Tests · UI / test (pull_request) Successful in 2m23s
Tests · Go / test (pull_request) Successful in 1m56s

- The app root ("/", i.e. /game/) rendered a dev "workspace skeleton"
  stub, and the layout guard only redirected anonymous users off it, so
  an authenticated visitor stayed on the stub. Redirect "/" to /lobby
  (authenticated) and /login (anonymous), and replace the stub with a
  minimal loading placeholder. Drop the obsolete landing-stub unit test
  (root redirect is covered by the auth-flow e2e).
- Ship a tombstone /service-worker.js on the project site so any old
  root-scoped PWA worker (from when the game lived at the origin root)
  unregisters itself instead of serving a stale cached page at the
  site origin. The game now registers its worker only under /game/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ilia Denisov
2026-05-23 18:53:16 +02:00
parent a453b74b04
commit 9cb5097f54
4 changed files with 38 additions and 28 deletions
-13
View File
@@ -1,13 +0,0 @@
import { render } from "@testing-library/svelte";
import { describe, expect, it } from "vitest";
import Page from "../src/routes/+page.svelte";
describe("landing page", () => {
it("renders a non-empty version string in the footer", () => {
const { getByTestId } = render(Page);
const footer = getByTestId("app-version");
expect(footer).toBeInTheDocument();
expect(footer.textContent?.trim()).not.toBe("");
expect(footer.textContent).toMatch(/version\s+\S+/);
});
});