From c1b096f322f623fa63d6b1e837a819bb077de552 Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Thu, 14 Aug 2025 23:17:22 +0100 Subject: [PATCH] fix(realtime): waitUntil now correctly waits for metadata.streams to finish --- .changeset/healthy-oranges-refuse.md | 5 +++++ packages/cli-v3/src/entryPoints/dev-run-worker.ts | 11 ++++++----- packages/cli-v3/src/entryPoints/managed-run-worker.ts | 11 ++++++----- 3 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 .changeset/healthy-oranges-refuse.md diff --git a/.changeset/healthy-oranges-refuse.md b/.changeset/healthy-oranges-refuse.md new file mode 100644 index 0000000000..dfc781ccce --- /dev/null +++ b/.changeset/healthy-oranges-refuse.md @@ -0,0 +1,5 @@ +--- +"trigger.dev": patch +--- + +fix: waitUntil now correctly waits for metadata.streams to finish diff --git a/packages/cli-v3/src/entryPoints/dev-run-worker.ts b/packages/cli-v3/src/entryPoints/dev-run-worker.ts index 6a526a57c3..2f44466170 100644 --- a/packages/cli-v3/src/entryPoints/dev-run-worker.ts +++ b/packages/cli-v3/src/entryPoints/dev-run-worker.ts @@ -141,11 +141,6 @@ const runMetadataManager = new StandardMetadataManager( runMetadata.setGlobalManager(runMetadataManager); const waitUntilManager = new StandardWaitUntilManager(); waitUntil.setGlobalManager(waitUntilManager); -// Wait for all streams to finish before completing the run -waitUntil.register({ - requiresResolving: () => runMetadataManager.hasActiveStreams(), - promise: () => runMetadataManager.waitForAllStreams(), -}); const triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL"); const showInternalLogs = getEnvVar("RUN_WORKER_SHOW_LOGS") === "true"; @@ -309,6 +304,12 @@ function resetExecutionEnvironment() { taskContext.disable(); standardTraceContextManager.reset(); + // Wait for all streams to finish before completing the run + waitUntil.register({ + requiresResolving: () => runMetadataManager.hasActiveStreams(), + promise: () => runMetadataManager.waitForAllStreams(), + }); + log(`[${new Date().toISOString()}] Reset execution environment`); } diff --git a/packages/cli-v3/src/entryPoints/managed-run-worker.ts b/packages/cli-v3/src/entryPoints/managed-run-worker.ts index c659af93de..a962b4fbba 100644 --- a/packages/cli-v3/src/entryPoints/managed-run-worker.ts +++ b/packages/cli-v3/src/entryPoints/managed-run-worker.ts @@ -133,11 +133,6 @@ runMetadata.setGlobalManager(runMetadataManager); const waitUntilManager = new StandardWaitUntilManager(); waitUntil.setGlobalManager(waitUntilManager); -// Wait for all streams to finish before completing the run -waitUntil.register({ - requiresResolving: () => runMetadataManager.hasActiveStreams(), - promise: () => runMetadataManager.waitForAllStreams(), -}); const triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL"); @@ -295,6 +290,12 @@ function resetExecutionEnvironment() { taskContext.disable(); standardTraceContextManager.reset(); + // Wait for all streams to finish before completing the run + waitUntil.register({ + requiresResolving: () => runMetadataManager.hasActiveStreams(), + promise: () => runMetadataManager.waitForAllStreams(), + }); + console.log(`[${new Date().toISOString()}] Reset execution environment`); }