mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
remove initiating ES multiple times, may fix the collisions on slow networks
This commit is contained in:
@@ -93,17 +93,6 @@ const SystemLog: FC = () => {
|
|||||||
document.body.removeChild(a);
|
document.body.removeChild(a);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onMessage = (event: MessageEvent) => {
|
|
||||||
const rawData = event.data;
|
|
||||||
if (typeof rawData === 'string' || rawData instanceof String) {
|
|
||||||
const logentry = JSON.parse(rawData as string) as LogEntry;
|
|
||||||
if (logentry.i > lastIndex) {
|
|
||||||
setLastIndex(logentry.i);
|
|
||||||
setLogEntries((log) => [...log, logentry]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const saveSettings = async () => {
|
const saveSettings = async () => {
|
||||||
await saveData();
|
await saveData();
|
||||||
};
|
};
|
||||||
@@ -121,16 +110,26 @@ const SystemLog: FC = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const es = new EventSource(addAccessTokenParameter(LOG_EVENTSOURCE_URL));
|
const es = new EventSource(addAccessTokenParameter(LOG_EVENTSOURCE_URL));
|
||||||
es.onmessage = onMessage;
|
es.onmessage = (event: MessageEvent) => {
|
||||||
|
const rawData = event.data;
|
||||||
|
if (typeof rawData === 'string' || rawData instanceof String) {
|
||||||
|
const logentry = JSON.parse(rawData as string) as LogEntry;
|
||||||
|
if (logentry.i > lastIndex) {
|
||||||
|
setLastIndex(logentry.i);
|
||||||
|
setLogEntries((log) => [...log, logentry]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
es.onerror = () => {
|
es.onerror = () => {
|
||||||
es.close();
|
es.close();
|
||||||
toast.error('EventSource failed');
|
toast.error('No connection to Log server');
|
||||||
};
|
};
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
es.close();
|
es.close();
|
||||||
};
|
};
|
||||||
});
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
}, []);
|
||||||
|
|
||||||
const content = () => {
|
const content = () => {
|
||||||
if (!data) {
|
if (!data) {
|
||||||
|
|||||||
Reference in New Issue
Block a user