diff --git a/web/react/src/App.tsx b/web/react/src/App.tsx index 69206c0..62f6492 100644 --- a/web/react/src/App.tsx +++ b/web/react/src/App.tsx @@ -93,13 +93,15 @@ function ProgramPane({ text, setText, activeGcodes, executionTrace, programStatu const mainLine = executing && currentLine && currentLine > 0 && currentLine <= lines.length ? currentLine : null; const executedLines = new Set(executionTrace.map((entry) => entry.line)); const editorRef = useRef(null); + const gutterRef = useRef(null); const highlightsRef = useRef(null); const traceRef = useRef(null); + const followTraceRef = useRef(true); useEffect(() => { const node = traceRef.current; - if (node) node.scrollTop = node.scrollHeight; + if (node && followTraceRef.current) node.scrollTop = node.scrollHeight; }, [executionTrace]); - return
{lines.map((_, index) => { const line = index + 1; const className = line === mainLine ? "current-line" : executedLines.has(line) ? "completed-line" : ""; return {line}; })}