diff --git a/server/server/src/client.ts b/server/server/src/client.ts index 5bc0336f34..3d5c21d769 100644 --- a/server/server/src/client.ts +++ b/server/server/src/client.ts @@ -224,7 +224,9 @@ export class ClientSession implements Session { this.useCompression ) } else { - void handleSend(ctx, socket, { result: tx }, 1024 * 1024, this.binaryMode, this.useCompression) + void handleSend(ctx, socket, { result: tx }, 1024 * 1024, this.binaryMode, this.useCompression).catch((err) => { + ctx.error('failed to broadcast', err) + }) } } diff --git a/server/server/src/sessionManager.ts b/server/server/src/sessionManager.ts index 1d5b230ff9..e8d41ca5e1 100644 --- a/server/server/src/sessionManager.ts +++ b/server/server/src/sessionManager.ts @@ -227,7 +227,9 @@ class TSessionManager implements SessionManager { this.ctx.warn('session hang, closing...', { wsId, user: s[1].session.getUser() }) // Force close workspace if only one client and it hang. - void this.close(this.ctx, s[1].socket, wsId) + void this.close(this.ctx, s[1].socket, wsId).catch((err) => { + this.ctx.error('failed to close', err) + }) continue } if ( @@ -617,7 +619,9 @@ class TSessionManager implements SessionManager { function send (): void { for (const session of sessions) { try { - void sendResponse(ctx, session.session, session.socket, { result: tx }) + void sendResponse(ctx, session.session, session.socket, { result: tx }).catch((err) => { + ctx.error('failed to send', err) + }) } catch (err: any) { Analytics.handleError(err) ctx.error('error during send', { error: err }) @@ -1242,7 +1246,9 @@ export function startSessionManager ( shutdown: opt.serverFactory( sessions, (rctx, service, ws, msg, workspace) => { - void sessions.handleRequest(rctx, service, ws, msg, workspace) + void sessions.handleRequest(rctx, service, ws, msg, workspace).catch((err) => { + ctx.error('failed to handle request', err) + }) }, ctx, opt.pipelineFactory,