Loading apps...
${this.taskManager.parseAnsiColors(logContent)}`;
+ if (isScrolledToBottom) logsContainer.scrollTop = logsContainer.scrollHeight;
+ return;
+ }
+ }
+
+ if (renderInMemory()) return;
+
+ logsContainer.innerHTML = '${this.taskManager.parseAnsiColors(task.output)}
+ `;
+ } else if (task.error && task.error.trim()) {
+ outputElement.innerHTML = `
+ ${this.escapeHtml(task.error)}
+ `;
+ } else {
+ // Try to read from log file
+ const logResponse = await fetch(`/read-file?path=tasks/${taskId}.log`);
+ if (logResponse.ok) {
+ const logContent = await logResponse.text();
+ if (logContent.trim()) {
+ outputElement.innerHTML = `
+ ${this.taskManager.parseAnsiColors(logContent)}
+ `;
+ } else {
+ outputElement.innerHTML = `
+ Loading apps...
${this.taskManager.parseAnsiColors(logContent)}`;
- if (isScrolledToBottom) logsContainer.scrollTop = logsContainer.scrollHeight;
- return;
- }
- }
-
- if (renderInMemory()) return;
-
- logsContainer.innerHTML = '${this.taskManager.parseAnsiColors(task.output)}
- `;
- } else if (task.error && task.error.trim()) {
- outputElement.innerHTML = `
- ${this.escapeHtml(task.error)}
- `;
- } else {
- // Try to read from log file
- const logResponse = await fetch(`/read-file?path=tasks/${taskId}.log`);
- if (logResponse.ok) {
- const logContent = await logResponse.text();
- if (logContent.trim()) {
- outputElement.innerHTML = `
- ${this.taskManager.parseAnsiColors(logContent)}
- `;
- } else {
- outputElement.innerHTML = `
- ${escHtml(warningTitle)}
-${escHtml(warningText)}
-This cannot be undone
-All selected tasks and their logs will be permanently removed.
-${escHtml(warningTitle)}
+${escHtml(warningText)}
+This cannot be undone
+All selected tasks and their logs will be permanently removed.
+