Show per-account delivery status

This commit is contained in:
jjbrunton committed 2026-08-09 16:12:05 +01:00
1 parent 9b86cee9be
commit 22eb32e5bf
14 files changed
+402 -13

No files matched your search

+25
View File
@@ -1,6 +1,8 @@
import { describe, expect, it } from 'vitest';
import winston from 'winston';
import { RealtimeEventHub, type RealtimeEvent } from '../src/web/events/index.js';
import { LogBroadcaster } from '../src/web/log-broadcaster.js';
import { attachLogSink } from '../src/utils/logger.js';
describe('LogBroadcaster realtime bridge', () => {
it('publishes each log through the typed event hub', () => {
@@ -67,4 +69,27 @@ describe('LogBroadcaster realtime bridge', () => {
expect(serializedRecent).not.toContain('must-not-leak');
expect(serializedRecent).not.toContain('"request"');
});
it('preserves account metadata from a child logger', async () => {
const broadcaster = new LogBroadcaster();
const logger = winston.createLogger({ level: 'debug' });
attachLogSink(logger, broadcaster);
logger.child({
accountId: '@t2_owner:reddit.com',
redditUsername: 'operator',
}).warn('Matrix request failed: M_LIMIT_EXCEEDED');
await new Promise<void>((resolve) => setImmediate(resolve));
expect(broadcaster.getRecent()).toEqual([
expect.objectContaining({
level: 'warn',
message: 'Matrix request failed: M_LIMIT_EXCEEDED',
data: {
accountId: '@t2_owner:reddit.com',
redditUsername: 'operator',
},
}),
]);
});
});