xfy
60138ed6e1
feat(api): add SSE endpoint /api/exec/stream
GET /api/exec/stream?task_id=X — pops the mpsc Receiver from
EXEC_STREAMS (one-shot, prevents duplicate consumers), wraps it in
ReceiverStream, maps OutputChunk → SSE Event (stdout/stderr/done).
keep_alive every 15s prevents reverse-proxy idle timeouts.
Route registration: dedicated sse_route with csrf_middleware but NO
TimeoutLayer (SSE is a long-lived connection; the 30s app-route timeout
would kill it). Auth + rate limit already enforced in start_exec_stream.
main.rs merge order: upload(300s) → export(120s) → sse(no timeout) →
app(30s) → static(none).
2026-07-10 11:48:26 +08:00
..
2026-07-10 11:48:26 +08:00
2026-06-16 16:45:08 +08:00
2026-06-29 13:47:40 +08:00
2026-07-10 00:21:08 +08:00
2026-07-04 21:54:54 +08:00
2026-07-08 14:18:08 +08:00
2026-07-10 11:41:37 +08:00
2026-07-08 16:40:32 +08:00
2026-07-09 17:33:19 +08:00
2026-06-29 13:47:40 +08:00
2026-07-02 17:15:18 +08:00
2026-07-09 11:50:39 +08:00
2026-07-08 16:40:32 +08:00
2026-07-08 14:37:52 +08:00
2026-06-12 19:02:37 +08:00
2026-06-29 13:47:40 +08:00
2026-07-10 11:48:26 +08:00
2026-07-09 17:36:38 +08:00
2026-06-29 15:42:40 +08:00
2026-06-30 17:42:52 +08:00
2026-07-03 13:42:17 +08:00
2026-07-07 18:34:17 +08:00
2026-06-24 13:54:36 +08:00
2026-07-10 11:39:24 +08:00