mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
prevent double messages in weblog
This commit is contained in:
@@ -45,6 +45,7 @@ interface LogEventControllerState {
|
|||||||
compact: boolean;
|
compact: boolean;
|
||||||
level: number;
|
level: number;
|
||||||
max_messages: number;
|
max_messages: number;
|
||||||
|
last_id: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
type LogEventControllerProps = RestControllerProps<LogSettings>;
|
type LogEventControllerProps = RestControllerProps<LogSettings>;
|
||||||
@@ -62,7 +63,8 @@ class LogEventController extends Component<
|
|||||||
events: [],
|
events: [],
|
||||||
compact: false,
|
compact: false,
|
||||||
level: 6,
|
level: 6,
|
||||||
max_messages: 25
|
max_messages: 25,
|
||||||
|
last_id: 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +159,10 @@ class LogEventController extends Component<
|
|||||||
const rawData = event.data;
|
const rawData = event.data;
|
||||||
if (typeof rawData === 'string' || rawData instanceof String) {
|
if (typeof rawData === 'string' || rawData instanceof String) {
|
||||||
const event = JSON.parse(rawData as string) as LogEvent;
|
const event = JSON.parse(rawData as string) as LogEvent;
|
||||||
this.setState((state) => ({ events: [...state.events, event] }));
|
if (event.i > this.state.last_id) {
|
||||||
|
this.setState({ last_id: event.i });
|
||||||
|
this.setState((state) => ({ events: [...state.events, event] }));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user