diff --git a/src/renderer/src/pages/logs.tsx b/src/renderer/src/pages/logs.tsx index 137f8f5..148f6d3 100644 --- a/src/renderer/src/pages/logs.tsx +++ b/src/renderer/src/pages/logs.tsx @@ -46,6 +46,8 @@ const Logs: React.FC = () => { const [trace, setTrace] = useState(true) const virtuosoRef = useRef(null) + const traceRef = useRef(trace) + const filteredLogs = useMemo(() => { if (filter === '') return logs return logs.filter((log) => { @@ -57,6 +59,13 @@ const Logs: React.FC = () => { localStorage.setItem(LOGS_FILTER_KEY, filter) }, [filter]) + useEffect(() => { + traceRef.current = trace + if (trace) { + setLogs([...cachedLogs.log]) + } + }, [trace]) + useEffect(() => { if (!trace) return virtuosoRef.current?.scrollToIndex({ @@ -70,7 +79,9 @@ const Logs: React.FC = () => { useEffect(() => { const old = cachedLogs.trigger cachedLogs.trigger = (a): void => { - setLogs([...a]) + if (traceRef.current) { + setLogs([...a]) + } } return (): void => { cachedLogs.trigger = old