fix(dashboard): deduplicate realtime log replay
This commit is contained in:
1 parent
e003b0d8b2
commit
89f7376b1b
4 files changed
+49
-9
No files matched your search
@@ -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 }));
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user