21 lines
930 B
Markdown
21 lines
930 B
Markdown
# F-139 — Implementer evidence
|
|
|
|
## What
|
|
F-139 build evidence: fixed SSE streaming bug. tsc 0, verify.sh verde.
|
|
|
|
## Files
|
|
- `apps/admin/src/app/api/[...path]/route.ts` — proxy adds `X-Accel-Buffering: no`, uses `Headers` API, removes `Connection: keep-alive`.
|
|
- `apps/admin/src/components/ServerLogViewer.tsx` — added exponential backoff reconnection loop (1s → 2s → 4s … max 30s); calls `reader.cancel()` on abort; resets backoff on success.
|
|
|
|
## Verification
|
|
- `npm run build` → 0 TypeScript errors.
|
|
- `check-module-boundaries.mjs src` → 0 NEW violations.
|
|
- `./scripts/verify.sh` → green (F-139 in_progress, runtime-consistent).
|
|
|
|
## Root causes fixed
|
|
| Cause | Fix |
|
|
|-------|-----|
|
|
| Proxy missing `X-Accel-Buffering: no` | Added header to proxy SSE response |
|
|
| Client never reconnects | Exponential backoff retry loop in `connect()` |
|
|
| Dead `LogBroadcaster.stream()` | No-op — never used by SSE endpoint |
|