Add comprehensive error handling to prevent process crashes

- Global uncaughtException/unhandledRejection handlers in index.ts
- FFmpeg stdout/stderr stream error handlers in player.ts
- HTTP server and WebSocket server error handlers in server.ts
- Safe WebSocket broadcast with try-catch in websocket.ts
- Catch async errors from textMessage handler in instance.ts
- Reset voiceFramesSent counter on reconnect in client.ts

https://claude.ai/code/session_01EjpEsC2GCsvwbu4n3XC8EE
This commit is contained in:
Claude committed 2026-03-31 16:58:14 +00:00
1 parent 168f9f0286
commit 1c88dd7a35
6 files changed
+32 -2

No files matched your search

+7
View File
@@ -67,7 +67,14 @@ export function createWebServer(options: WebServerOptions): WebServer {
});
}
server.on("error", (err) => {
logger.error({ err }, "HTTP server error");
});
const wss = new WebSocketServer({ server, path: "/ws" });
wss.on("error", (err) => {
logger.error({ err }, "WebSocket server error");
});
const cleanupWs = setupWebSocket(wss, options.botManager, logger);
return {
+5 -1
View File
@@ -39,7 +39,11 @@ export function setupWebSocket(
const message = JSON.stringify(data);
for (const client of clients) {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
try {
client.send(message);
} catch {
clients.delete(client);
}
}
}
};