Parcourir la source

docs(server): explain why HTTP API PTY handler has no early-frame buffer (#26464)

Kit Langton il y a 3 mois
Parent
commit
96bde05f6e

+ 6 - 0
packages/opencode/src/server/routes/instance/httpapi/handlers/pty.ts

@@ -153,6 +153,12 @@ export const ptyConnectRoute = HttpRouter.use((router) =>
           return HttpServerResponse.empty()
         }
 
+        // No `pending[]`-style early-frame buffer (the legacy Hono handler had one).
+        // `request.upgrade` returns a Socket without running the WS handshake; the
+        // handshake fires inside `socket.runRaw` below, AFTER `pty.connect` resolves
+        // and the message callback is registered. The client therefore can't fire
+        // `open` and start sending until the listener is already wired. Don't move
+        // `runRaw` ahead of `pty.connect` without re-introducing a buffer.
         yield* socket
           .runRaw((message) => handlePtyInput(handler, message))
           .pipe(