diff --git a/OPEN_THREADS.md b/OPEN_THREADS.md index c562599..4381451 100644 --- a/OPEN_THREADS.md +++ b/OPEN_THREADS.md @@ -44,7 +44,7 @@ Outstanding: ### Code Server Addon -Status: ✅ Installed, running, and reachable through API proxy +Status: ✅ Installed, running, browser-verified end-to-end Confirmed: @@ -53,7 +53,7 @@ Confirmed: - binds to `0.0.0.0:6000` - lifecycle endpoints: `POST /dev/codeserver/start|stop|restart` - detection via `/proc/*/cmdline` scan -- hosted browser IDE flow verified with curl end-to-end through Traefik + API proxy +- full browser IDE loading confirmed at `dev-6070.zerolaghub.dev` --- @@ -80,12 +80,15 @@ Completed: ## Dev IDE Access -### Browser IDE ✅ Working (host-based through Traefik + API) +### Browser IDE ✅ Fully Working (browser-verified) ``` Browser → dev-.zerolaghub.dev → Traefik → API → container:6000 ``` +Browser-verified: VS Code loads in browser at `dev-6070.zerolaghub.dev/?folder=/home/dev/workspace` +with workspace mounted, extensions panel visible, AI chat panel active. + Verified flow: 1. frontend calls `POST /api/dev/:id/ide-token` @@ -94,21 +97,13 @@ Verified flow: 4. Traefik wildcard router forwards to API at `http://10.60.0.245:4000` 5. API validates token, sets `zlh_dev_ide_token`, redirects to clean host URL 6. subsequent cookie-backed request redirects to `/?folder=/home/dev/workspace` -7. final response is `200` with code-server HTML -8. API remains HTTP + WS proxy boundary to the container - -Curl-verified response chain: - -- `GET /?token=...` → `302` + `Set-Cookie: zlh_dev_ide_token` -- `GET /` with cookie → `302` to `/?folder=/home/dev/workspace` -- `GET /?folder=/home/dev/workspace` → `200` code-server HTML +7. IDE loads fully in browser ### Remaining Work -- verify full browser behavior beyond curl -- verify WebSocket behavior in-browser under hosted flow -- reduce legacy `/__ide/:id` compatibility paths once host-based is fully canonical - confirm "Open IDE" button in portal uses hosted URL in production path +- reduce legacy `/__ide/:id` compatibility paths once portal button confirmed +- simplify and harden `devProxy` — remove stale path-based assumptions ### Wildcard Edge (Traefik) @@ -146,7 +141,7 @@ Completed: - host-based URL generation (`DEV_IDE_HOST_SUFFIX`, `DEV_IDE_RETURN_HOSTED_URL`) - `handleHostedProxy` — host-based routing via `Host` header vmid extraction - token bootstrap → cookie handoff working under hosted flow -- hosted flow proxies to container successfully +- hosted flow browser-verified end-to-end Outstanding: @@ -168,7 +163,6 @@ Completed: Outstanding: - confirm "Open IDE" button fully uses hosted URL flow -- browser validation against hosted wildcard model - Headscale setup instructions --- @@ -197,6 +191,7 @@ Future work: - ✅ Code-server lifecycle endpoints (start/stop/restart) - ✅ Code-server process detection via /proc scan - ✅ Dev IDE proxy — path-based browser IDE working end-to-end -- ✅ Hosted wildcard Traefik → API → container dev IDE flow (curl-verified) +- ✅ Hosted wildcard Traefik → API → container dev IDE flow — browser-verified - ✅ Per-container dev IDE edge publish/unpublish removed from API - ✅ Wildcard TLS cert `*.zerolaghub.dev` via Let's Encrypt + Cloudflare DNS-01 +- ✅ Browser IDE fully loading at dev-.zerolaghub.dev