fix(dashboard): deduplicate realtime log replay

This commit is contained in:
jjbrunton committed 2026-08-08 15:15:54 +01:00
1 parent e003b0d8b2
commit 89f7376b1b
4 files changed
+49 -9

No files matched your search

+9 -5
View File
@@ -22,16 +22,20 @@ export class LogBroadcaster {
}
push(level: LogEntry['level'], message: string, data?: unknown): void {
const entry: LogEntry = { timestamp: Date.now(), level, message, data };
const realtimeEvent = this.eventHub.closed
? undefined
: this.eventHub.publish('log.created', { level, message, data });
const entry: LogEntry = {
timestamp: realtimeEvent ? Date.parse(realtimeEvent.occurredAt) : Date.now(),
level,
message,
data,
};
this.entries.push(entry);
if (this.entries.length > MAX_LOGS) {
this.entries = this.entries.slice(-MAX_LOGS);
}
if (!this.eventHub.closed) {
this.eventHub.publish('log.created', { level, message, data });
}
this.fanout(JSON.stringify({ type: 'log', ...entry }));
}