Phase 9: Faster Write-Back (CAL-15) — event-driven outbox drain #14

Merged
luckberg merged 26 commits from gsd/phase-09-faster-write-back into main 2026-06-12 21:19:17 -04:00
Showing only changes of commit 30eff3dcdb - Show all commits
+5
View File
@@ -34,6 +34,7 @@ import { expandOccurrences } from '../broker/expand.js';
import { extractRruleString } from '../broker/vevent.js';
import { getAuth } from '../auth/middleware.js';
import { upsertUser, deriveDisplayName } from '../auth/user.js';
import { signalOutboxDrain } from '../lib/outboxTrigger.js';
// Side-effect import: brings in the ContextVariableMap augmentation for c.get('user')
import '../auth/devBypass.js';
@@ -306,6 +307,7 @@ eventsRouter.post('/create', zValidator('json', eventFieldsSchema), async (c) =>
payload: JSON.stringify(payload),
});
signalOutboxDrain();
return c.json({ uid }, 202);
} catch (err) {
console.error('[events/create] DB operation failed:', err);
@@ -429,6 +431,7 @@ eventsRouter.patch('/:uid/edit', zValidator('json', eventFieldsSchema), async (c
});
});
signalOutboxDrain();
return c.json({ uid: newUid }, 202);
}
@@ -444,6 +447,7 @@ eventsRouter.patch('/:uid/edit', zValidator('json', eventFieldsSchema), async (c
payload: JSON.stringify(payload),
});
signalOutboxDrain();
return c.json({ uid }, 202);
} catch (err) {
console.error('[events/edit] DB operation failed:', err);
@@ -518,6 +522,7 @@ eventsRouter.delete('/:uid', async (c) => {
etag: eventRow.etag ?? undefined,
});
signalOutboxDrain();
return c.json({ uid }, 202);
} catch (err) {
console.error('[events/delete] DB operation failed:', err);