Fix WebSocket state corruption preventing messages after first reply
Replace concurrent WS reads (_stream_recv + recv_task.cancel()) with
HTTP stop endpoint (POST /sessions/{id}/stop). Cancelling a background
receive_text() task corrupted Starlette's WS state, breaking all
subsequent receives. Now the WS has a single reader at all times.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 551f838 commit 65428f5877ae6cd2a90fa40fb41e36c9a6af16fc
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 11 Apr
Showing 3 changed files
View
client/js/app.js
View
client/js/ws.js
View
navi/api/websocket.py