docs: finalize SSR migration documentation

Remove the temporary SSR migration tasklist and workflow instructions.
Update project context to reflect that Nuxt SSR is now fully enabled.
This commit is contained in:
2026-05-07 09:51:28 +08:00
parent d87539e897
commit bcf8dd9cb5
2 changed files with 6 additions and 77 deletions

View File

@@ -15,12 +15,11 @@
For any non-trivial task: For any non-trivial task:
1. **Read `DESIGN.md`** 1. **Read `DESIGN.md`**
2. While `SSR_MIGRATION_TASKLIST.md` exists, **also read `SSR_MIGRATION_TASKLIST.md`** and keep SSR migration work aligned with it. 2. For UI, component, layout, or styling tasks, **also read `DesignGuidelines.html`**
3. For UI, component, layout, or styling tasks, **also read `DesignGuidelines.html`** 3. **Produce a short plan (no code)**
4. **Produce a short plan (no code)** 4. Wait for approval
5. Wait for approval 5. Implement in small steps
6. Implement in small steps 6. Run lightweight validation when practical (lint/typecheck). Do not run tests in WSL.
7. Run lightweight validation when practical (lint/typecheck). Do not run tests in WSL.
Do NOT skip planning. Do NOT skip planning.
@@ -28,16 +27,6 @@ For documentation-only tasks, still follow the planning workflow, but do not run
--- ---
## Temporary SSR Migration Workflow
* `SSR_MIGRATION_TASKLIST.md` is the active task list for completing the Nuxt SSR migration.
* Until that migration is fully implemented and validated, every task that touches frontend routing, auth, API fetching, i18n, SEO, Docker frontend deployment, Nuxt config, or SSR/client runtime behavior must read and follow `SSR_MIGRATION_TASKLIST.md`.
* Update task checkboxes in `SSR_MIGRATION_TASKLIST.md` only when the corresponding implementation is actually complete and validated.
* Do not delete `SSR_MIGRATION_TASKLIST.md` early. Delete it only after the project is fully migrated to the final SSR deployment model, validation is complete, and `DESIGN.md` reflects the final behavior.
* When deleting `SSR_MIGRATION_TASKLIST.md`, also remove this Temporary SSR Migration Workflow section and the mandatory workflow step that requires reading the task list.
---
## Project Context ## Project Context
* Goal: Pokopia Wiki, a community-editable game wiki. * Goal: Pokopia Wiki, a community-editable game wiki.
@@ -45,7 +34,7 @@ For documentation-only tasks, still follow the planning workflow, but do not run
* Runtime baseline: Node.js >= 22. * Runtime baseline: Node.js >= 22.
* Frontend: * Frontend:
* Nuxt SPA mode currently (`ssr: false`), with SSR migration tracked in `SSR_MIGRATION_TASKLIST.md` * Nuxt SSR enabled (`ssr: true`)
* Vue * Vue
* Vue Router * Vue Router
* Vue I18n * Vue I18n

View File

@@ -1,60 +0,0 @@
# SSR Migration Remaining Tasks
This temporary file tracks only the work still required before the Nuxt SSR migration can be considered complete.
Delete this file only after all items below are complete and `AGENTS.md` no longer needs the temporary SSR migration workflow.
## Remaining Work
- [ ] Run production Docker validation with `docker compose up --build`.
- [ ] Fix any Docker runtime errors from the production SSR container, frontend gateway, backend API, or SSR server-to-backend API connection.
- [ ] Verify anonymous SSR HTML for public routes contains meaningful public business content and route/detail metadata:
- `/`
- `/pokemon`
- `/event-pokemon`
- `/habitats`
- `/event-habitats`
- `/items`
- `/event-items`
- `/ancient-artifacts`
- `/recipes`
- `/checklist`
- `/dish`
- `/life`
- `/life/:id`
- `/profile/:id`
- `/project-updates`
- [ ] Verify generated HTML, Nuxt payloads, API responses used by SSR, metadata, and logs do not expose password hashes, session token hashes, verification/reset token hashes, private current-user data on public pages, role internals, permission internals, internal audit payloads, debug fields, stack traces, or implementation notes.
- [ ] Verify localized SSR reads and metadata follow the `DESIGN.md` fallback order: requested locale, default-language translation, then base field.
- [ ] Verify auth and permission route behavior with SSR enabled:
- anonymous users redirect from protected routes to login
- unverified users cannot access verified-only write flows
- users missing permissions cannot access permissioned routes
- current-user reads expose only fields allowed by `DESIGN.md`
- [ ] Verify hydrated logged-in flows still work:
- login
- logout
- Remember me
- `/profile`
- notifications
- route-backed create/edit modals
- uploads
- Life comments/reactions
- entity discussion comments
- admin access
- [ ] Verify browser-only UI behavior runs only on the client and remains stable after hydration:
- modal focus and body locking
- dropdown positioning
- scroll/resize listeners
- infinite-scroll sentinels
- clipboard actions
- `window.confirm` actions
- notification WebSocket
- upload file APIs
- [ ] Verify route-backed modal pages preserve underlying page context and avoid unwanted scroll jumps.
- [ ] Verify `robots.txt`, `sitemap.xml`, canonical URLs, `noindex` routes, Open Graph, Twitter card, and public detail metadata in the production runtime.
- [x] Remove legacy SPA-only compatibility paths once SSR behavior is stable.
- [x] Remove obsolete `VITE_*` fallback support after deployment has fully moved to documented `NUXT_*` variables.
- [x] Update `DESIGN.md` if final behavior differs from the current documented SSR deployment, auth, SEO, or environment-variable model.
- [ ] Update `AGENTS.md` to remove the temporary SSR migration workflow and the requirement to read this task list.
- [ ] Delete `SSR_MIGRATION_TASKLIST.md`.