From 57e74375c57e00df0e048a54f43b1e4c9245a0a1 Mon Sep 17 00:00:00 2001 From: Denis Bykhov Date: Mon, 2 Jun 2025 18:14:43 +0500 Subject: [PATCH] Fix Signed-off-by: Denis Bykhov --- packages/core/src/server.ts | 2 +- server/middleware/src/triggers.ts | 2 +- server/server/src/client.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/core/src/server.ts b/packages/core/src/server.ts index e277606948..1bfda5b6f0 100644 --- a/packages/core/src/server.ts +++ b/packages/core/src/server.ts @@ -53,7 +53,7 @@ export interface SessionData { workspace: WorkspaceIds socialStringsToUsers: Map - asyncRequests?: (() => Promise)[] + asyncRequests?: ((ctx: MeasureContext) => Promise)[] } /** diff --git a/server/middleware/src/triggers.ts b/server/middleware/src/triggers.ts index b2044c3524..357cf2ea18 100644 --- a/server/middleware/src/triggers.ts +++ b/server/middleware/src/triggers.ts @@ -179,7 +179,7 @@ export class TriggersMiddleware extends BaseMiddleware implements Middleware { } else { ctx.contextData.asyncRequests = [ ...(ctx.contextData.asyncRequests ?? []), - async () => { + async (ctx) => { // In case of async context, we execute both async and sync triggers as sync await this.processAsyncTriggers(ctx, triggerControl, findAll, txes, triggers) } diff --git a/server/server/src/client.ts b/server/server/src/client.ts index efdd27b22b..ccdd5416b8 100644 --- a/server/server/src/client.ts +++ b/server/server/src/client.ts @@ -251,8 +251,8 @@ export class ClientSession implements Session { onEnd = useReserveContext ? ctx.pipeline.context.adapterManager?.reserveContext?.(cid) : undefined const handleAyncs = async (): Promise => { try { - for (const r of (ctx.ctx.contextData as SessionData).asyncRequests ?? []) { - await r() + for (const r of asyncs) { + await r(ctx.ctx) } } finally { onEnd?.()