From 0ebdf4864db482549b07b4bd5af221a0bd5ca0db Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Fri, 12 Jun 2026 16:57:52 -0400 Subject: [PATCH] feat(09-02): wire initOutboxTrigger() at startup under isMainModule() in index.ts - extend outboxWorker import to include initOutboxTrigger alongside startOutboxWorker - call initOutboxTrigger() immediately after startOutboxWorker() inside isMainModule() guard - gated by isMainModule() so tests importing app never register the drain listener (Pitfall 4) --- apps/api/src/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 4cd8748..b49262d 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -13,7 +13,7 @@ import { oidcAuthMiddleware, processOAuthCallback } from './auth/middleware.js'; import { devAuthBypass } from './auth/devBypass.js'; import { persistSessionCookie } from './auth/persistSessionCookie.js'; import { startBrokerPoller } from './broker/poller.js'; -import { startOutboxWorker } from './broker/outboxWorker.js'; +import { startOutboxWorker, initOutboxTrigger } from './broker/outboxWorker.js'; import { startReminderScheduler } from './broker/reminderScheduler.js'; import webpush from 'web-push'; @@ -136,6 +136,7 @@ if (isMainModule()) { startBrokerPoller(); // Drain the D-05 outbox every 15s: dispatches pending CalDAV writes to Fastmail. startOutboxWorker(); + initOutboxTrigger(); // subscribe drain signal listener (D-01) // Start the 1-min reminder scan for shared timed events starting in ~15 min (NOTIF-01). // VAPID must be configured (above) before this starts or push sends will fail. startReminderScheduler();