feat(web): add WebSocket transport for message event streaming with SSE fallback (#764)

* feat: add websocket message stream transport

* fix: avoid false missing session directories in sidebar

* fix: re-probe project root session directories

* refactor: use button group for message stream transport

* fix: resolve chat input hook dependency warning

---------

Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
Yifan
2026-04-17 11:07:26 +03:00
committed by GitHub
co-authored by Bohdan Triapitsyn
parent fd8972a7d9
commit bee9d19f3a
26 changed files with 1515 additions and 163 deletions
@@ -13,6 +13,8 @@ export const createGracefulShutdownRuntime = (dependencies) => {
clearHealthCheckInterval,
getTerminalRuntime,
setTerminalRuntime,
getMessageStreamRuntime,
setMessageStreamRuntime,
shouldSkipOpenCodeStop,
getOpenCodePort,
getOpenCodeProcess,
@@ -54,6 +56,16 @@ export const createGracefulShutdownRuntime = (dependencies) => {
}
}
const messageStreamRuntime = getMessageStreamRuntime();
if (messageStreamRuntime) {
try {
await messageStreamRuntime.close();
} catch {
} finally {
setMessageStreamRuntime(null);
}
}
if (!shouldSkipOpenCodeStop()) {
const portToKill = getOpenCodePort();
const openCodeProcess = getOpenCodeProcess();