From 5212260083cbc698fb91f37d9b932cd79342ceb6 Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Fri, 14 Feb 2025 00:03:03 +0700 Subject: [PATCH 1/2] QFIX: Add promise catches (#8002) Signed-off-by: Andrey Sobolev --- server/server/src/client.ts | 4 +++- server/server/src/sessionManager.ts | 12 +++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/server/server/src/client.ts b/server/server/src/client.ts index 15661f88ff..b453c71a48 100644 --- a/server/server/src/client.ts +++ b/server/server/src/client.ts @@ -222,7 +222,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 5d1348998e..2549cb7480 100644 --- a/server/server/src/sessionManager.ts +++ b/server/server/src/sessionManager.ts @@ -217,7 +217,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 ( @@ -579,7 +581,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 }) @@ -1181,7 +1185,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, From 617a64713b6d7e9c434c3729fb33ca991072a0e3 Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Fri, 14 Feb 2025 00:31:09 +0700 Subject: [PATCH 2/2] Use staging to perform formatting check Signed-off-by: Andrey Sobolev --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3cdf9e6f26..d13d5a4be6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -156,7 +156,7 @@ jobs: [ -z "$(git diff --name-only '*.js' '*.ts' '*.svelte' '*.json' '*.yaml' | cat)" ] echo '================================================================' - name: Formatting... - run: node common/scripts/install-run-rush.js fast-format --branch ${{ github.base_ref }} + run: node common/scripts/install-run-rush.js fast-format --branch ${{ github.base_ref || 'staging' }} - name: Check files formatting run: | echo '================================================================'