From 91cf202177b91719cbc7a67e6f5a685d309be691 Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Thu, 5 Mar 2026 19:10:11 -0800 Subject: [PATCH] Scope telemetry flush loop to service lifecycle - Replace detached flush worker with scoped fiber in `AnalyticsService` - Ensure periodic analytics flushing is tied to layer lifetime/cleanup --- apps/server/src/telemetry/Layers/AnalyticsService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/telemetry/Layers/AnalyticsService.ts b/apps/server/src/telemetry/Layers/AnalyticsService.ts index 9881e910d9ceb4fcd76860385ea2e7936fb0197f..96339606e5c1853101b2955dd5e837f1dc2f5471 100644 --- a/apps/server/src/telemetry/Layers/AnalyticsService.ts +++ b/apps/server/src/telemetry/Layers/AnalyticsService.ts @@ -134,7 +134,7 @@ const makeAnalyticsService = Effect.gen(function* () { yield* Effect.forever(Effect.sleep(1000).pipe(Effect.flatMap(() => flush)), { disableYield: true, - }).pipe(Effect.forkDetach); + }).pipe(Effect.forkScoped); yield* Effect.addFinalizer(() => flush); -- 2.54.0