diff --git a/.env.example b/.env.example index 440d185e..e2b6fa9e 100644 --- a/.env.example +++ b/.env.example @@ -40,11 +40,6 @@ BETTER_AUTH_SECRET=change-me-to-a-random-32-char-string BETTER_AUTH_URL=http://localhost:14242 -# ─── Web App (Next.js) ─────────────────────────────────────────────────────── -# Public gateway URL — accessible from the browser, not just the server. -NEXT_PUBLIC_GATEWAY_URL=http://localhost:14242 - - # ─── OpenTelemetry ─────────────────────────────────────────────────────────── # OTLP HTTP endpoint (otel-collector or any OpenTelemetry-compatible backend) OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 diff --git a/docs/_old_structure/guides/admin-guide.md b/docs/_old_structure/guides/admin-guide.md index ed9d2a9d..3aa73225 100644 --- a/docs/_old_structure/guides/admin-guide.md +++ b/docs/_old_structure/guides/admin-guide.md @@ -376,9 +376,8 @@ Session cleanup is scoped to one session identifier and only removes that sessio ### Web App -| Variable | Default | Description | -| ------------------------- | ------------------------ | -------------------------------------- | -| `NEXT_PUBLIC_GATEWAY_URL` | `http://localhost:14242` | Gateway URL used by the Next.js client | +The web app uses origin-relative paths only; it needs no gateway URL variable. +(`NEXT_PUBLIC_GATEWAY_URL` is obsolete and no longer read by anything.) ### Coordination diff --git a/docs/webui/PHASE-P-STRUCTURE.md b/docs/webui/PHASE-P-STRUCTURE.md index 176f9517..4e2cb77d 100644 --- a/docs/webui/PHASE-P-STRUCTURE.md +++ b/docs/webui/PHASE-P-STRUCTURE.md @@ -1,7 +1,7 @@ # WebUI Phase P — File / Folder Structure & Migration Map -> **Status:** living document — first pass. Structure and increment status are verified against -> `next` as of merge `8c27024d`. Details (per-surface component inventories, exact route tables, +> **Status:** living document. Structure and increment status are verified against `next` as of +> merge `3bd490c0` (2026-08-26). Details (per-surface component inventories, exact route tables, > test matrices) are still being fleshed out; extend the stub sections below rather than rewriting > the verified structure. @@ -29,7 +29,8 @@ apps/web/ ├── routes.tsx # ── SPA React Router route table ├── spa/ # ── NEW SPA surfaces │ ├── guards.tsx # guest / authenticated route guards - │ ├── pages/ # login, register, sso-callback (P2); chat + error boundary (P3) + │ ├── pages/ # login, register, sso-callback (P2); chat + error boundary (P3); + │ │ # projects, project-detail, tasks (P4-1) │ └── chat/ # P3 typed chat: use-chat-connection, commands-panel, │ # session-panel, message-transcript, tool-call-list, composer │ @@ -80,14 +81,14 @@ build path is retired. ## 5. Increment map (P1–P6) -| # | Increment | Branch | Status | -| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------- | -| **P1** | Vite + React Router skeleton beside Next (entry, router, guards, vitest) | `feat/webui-p1-vite-skeleton` | ✅ merged — PR **#1143** | -| **P2** | SPA data layer + same-origin auth (login/register/SSO pages, guards, relative api/socket/auth-client) | `feat/webui-p2-data-auth` | ✅ merged — PR **#1144** | -| **P3** | Typed SPA **chat** (`spa/chat/*`, `chat-contract.ts`, chat page + error boundary) | `feat/webui-p3-chat` | 🚧 in progress (unmerged) | -| **P4** | Port **projects / tasks / settings / admin** dashboard surfaces into the SPA | _tbd_ | ⏳ not started | -| **P5** | **Cutover**: Gateway serves the Vite `dist` on `:14242`; flip `dev`/`build` to vite; **remove** the legacy Next `app/` tree + `next.config.ts` | _tbd_ | ⏳ not started | -| **P6** | CI / images (trails): build the SPA in CI, ship images | _tbd_ | ⏳ trails | +| # | Increment | Branch | Status | +| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------- | +| **P1** | Vite + React Router skeleton beside Next (entry, router, guards, vitest) | `feat/webui-p1-vite-skeleton` | ✅ merged — PR **#1143** | +| **P2** | SPA data layer + same-origin auth (login/register/SSO pages, guards, relative api/socket/auth-client) | `feat/webui-p2-data-auth` | ✅ merged — PR **#1144** | +| **P3** | Typed SPA **chat** (`spa/chat/*`, `chat-contract.ts`, chat page + error boundary) | `feat/webui-p3-chat` | ✅ merged — PR **#1151** (+ repair PR **#1154**) | +| **P4** | Port **projects / tasks / settings / admin** dashboard surfaces into the SPA | `feat/webui-p4-1` | 🚧 in progress — P4-1 (read-only projects + tasks) merged, PR **#1153**; settings/admin remain | +| **P5** | **Cutover**: Gateway serves the Vite `dist` on `:14242`; flip `dev`/`build` to vite; **remove** the legacy Next `app/` tree + `next.config.ts` | _tbd_ | ⏳ not started | +| **P6** | CI / images (trails): build the SPA in CI, ship images | _tbd_ | ⏳ trails | Each increment follows the same delivery pipeline: brief traceable to the RFC → author → **independent** integrator verification (build+test+typecheck+lint) → **independent** code + security