diff --git a/frontend/src/components/tasks/TaskDetailsPanel.tsx b/frontend/src/components/tasks/TaskDetailsPanel.tsx index cd54e1ba..b0119054 100644 --- a/frontend/src/components/tasks/TaskDetailsPanel.tsx +++ b/frontend/src/components/tasks/TaskDetailsPanel.tsx @@ -315,6 +315,18 @@ export function TaskDetailsPanel({ selectedAttempt?.id, ]); + // Memoize processed dev server logs to prevent stuttering + const processedDevServerLogs = useMemo(() => { + if (!devServerDetails) return "No output yet..."; + + const stdout = devServerDetails.stdout || ""; + const stderr = devServerDetails.stderr || ""; + const allOutput = stdout + (stderr ? "\n" + stderr : ""); + const lines = allOutput.split("\n").filter((line) => line.trim()); + const lastLines = lines.slice(-10); + return lastLines.length > 0 ? lastLines.join("\n") : "No output yet..."; + }, [devServerDetails?.stdout, devServerDetails?.stderr]); + // Set default executor from config useEffect(() => { if (config) { @@ -1009,21 +1021,7 @@ export function TaskDetailsPanel({ Dev Server Logs (Last 10 lines):

-                                        {(() => {
-                                          const stdout =
-                                            devServerDetails.stdout || "";
-                                          const stderr =
-                                            devServerDetails.stderr || "";
-                                          const allOutput =
-                                            stdout + (stderr ? "\n" + stderr : "");
-                                          const lines = allOutput
-                                            .split("\n")
-                                            .filter((line) => line.trim());
-                                          const lastLines = lines.slice(-10);
-                                          return lastLines.length > 0
-                                            ? lastLines.join("\n")
-                                            : "No output yet...";
-                                        })()}
+                                      {processedDevServerLogs}
                                       
) : runningDevServer ? (