From ab610730c025eac3216b9b0c3c48c5b53d6bd992 Mon Sep 17 00:00:00 2001 From: "glm-5.2" Date: Thu, 2 Jul 2026 10:10:55 +0000 Subject: [PATCH] =?UTF-8?q?docs(http):=20mark=20http/server/subscribe-sse-?= =?UTF-8?q?streaming=20completed=20=E2=80=94=20/subscribe=20pipes=20BoxStr?= =?UTF-8?q?eam=20to=20SSE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/http/server/subscribe-sse-streaming.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/http/server/subscribe-sse-streaming.md b/tasks/http/server/subscribe-sse-streaming.md index d03d526..82ad263 100644 --- a/tasks/http/server/subscribe-sse-streaming.md +++ b/tasks/http/server/subscribe-sse-streaming.md @@ -1,7 +1,7 @@ --- id: http/server/subscribe-sse-streaming name: Wire /subscribe handler to GatewayDispatch::invoke_streaming() and pipe BoxStream to SSE -status: pending +status: completed depends_on: [http/gateway/invoke-streaming] scope: narrow risk: medium @@ -153,4 +153,4 @@ stream is dropped (not leaked) on disconnect. ## Summary -> To be filled on completion \ No newline at end of file +> Replaced /subscribe one-event placeholder with real streaming path. subscribe_handler now calls GatewayDispatch::invoke_streaming() and pipes BoxStream to SSE via subscribe_stream_from_envelope_stream (StreamExt::map). Ok → data: frame, Err → event:error (terminal, stream ends after). Removed placeholder helpers (subscribe_stream_from_envelope, envelope_to_sse_stream). Kept subscribe_stream_internal_error for Internal ops (NOT_FOUND). Added 6 unit tests. Also fixed 2 pre-existing websocket subscription tests that expected INVALID_OPERATION_TYPE but now get call.responded (dispatch_requested routes Subscription via invoke_streaming). 247 tests pass. \ No newline at end of file