Skip to content

Commit 738115b

Browse files
authored
fix(dashboard): proxy SSH source requests and correct the dev:web README (#5270)
* fix(dashboard): proxy SSH source requests in the Vite dev server The workspace calls /api/ssh-source/ensure and /api/ssh-source/goal-lifecycle on the Chat service, but the dev proxy only forwarded /api/chat and /api/actions, so these requests returned a Vite 404 under npm run dev. Signed-off-by: song <liusongstep@gmail.com> * docs(dashboard): state what npm run dev:web serves The README said dev:web opens the workspace on the bundled example. The workspace always reads /status.json through the dev proxy, so without loopx serve-status and loopx chat it opens on a status-load error. Say so, and keep the bundled example as what smoke:demo-readiness validates. Signed-off-by: song <liusongstep@gmail.com> --------- Signed-off-by: song <liusongstep@gmail.com>
1 parent efaa18b commit 738115b

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

‎apps/presentation/dashboard/README.md‎

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,9 @@ run in the full development and packaged personal-workspace browser smokes.
3333

3434
## Fresh Clone Public Preview
3535

36-
No private LoopX state is required for the first dashboard preview. The
37-
app bundles `examples/status.example.json` as its public-safe example source,
38-
so a fresh checkout can validate and open the UI before starting any local
39-
status server:
36+
No private LoopX state is required to validate the dashboard. The app bundles
37+
`examples/status.example.json` as its public-safe example source, and
38+
`smoke:demo-readiness` checks it without a local status server:
4039

4140
```bash
4241
cd apps/presentation/dashboard
@@ -45,15 +44,14 @@ npm run smoke:demo-readiness -- --skip-browser
4544
npm run dev:web
4645
```
4746

48-
Then open `http://127.0.0.1:5173/`. Use the bundled example source for a public
49-
demo, or switch to a loopback status URL only after you have started
50-
`loopx serve-status` locally. Do not commit `status.local.json` or live
51-
status exports; they can contain local registry/runtime paths and private
52-
project summaries.
53-
54-
`npm run dev:web` starts only the Vite UI with the bundled example. `npm run dev`
55-
also starts the loopback status and Chat services and therefore requires a
56-
Python 3.11+ interpreter; see the development section below.
47+
`npm run dev:web` starts only the Vite UI at `http://127.0.0.1:5173/`. The
48+
workspace reads `/status.json` through the Vite proxy from `loopx serve-status`
49+
on port 8766 and the Chat APIs from `loopx chat` on port 8767, so without those
50+
services it opens on a status-load error. Start them locally, or use
51+
`npm run dev`, which also starts the loopback status and Chat services and
52+
therefore requires a Python 3.11+ interpreter; see the development section
53+
below. Do not commit `status.local.json` or live status exports; they can
54+
contain local registry/runtime paths and private project summaries.
5755

5856
Personal Workspace owns Goal, Task, Chat, output, and report workflows. Run
5957
`loopx dashboard` for the installed local workspace; see the

‎apps/presentation/dashboard/vite.config.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ export default defineConfig({
2828
target: "http://127.0.0.1:8767",
2929
changeOrigin: false,
3030
},
31+
"/api/ssh-source": {
32+
target: "http://127.0.0.1:8767",
33+
changeOrigin: false,
34+
},
3135
},
3236
},
3337
preview: {

0 commit comments

Comments
 (0)