fix: tracker_remove в сценариях + прямая загрузка логов (v1.2.36)

Баг 1: удалённые сценарием инстансы показывались как 'creating'
  — run_scenario() не вызывал tracker_remove после delete
  — фикс: tracker_remove после успешного delete-шага

Баг 2: чёрный экран на вкладке Логи
  — views.js копировал пустую log-panel
  — фикс: прямая загрузка fetch('/api/log')
This commit is contained in:
2026-08-03 09:48:03 +04:00
parent bfe26f07d8
commit 9fda5f042c
3 changed files with 25 additions and 7 deletions
+15 -6
View File
@@ -41,15 +41,24 @@ function switchView(viewId) {
if (!scenarioOpen) toggleScenario();
}
// Логи: специальная обработка — копируем содержимое нижней панели в вид
// Логи: прямая загрузка с API, не полагаемся на нижнюю панель
if (viewId === 'logs-view') {
const lp = document.getElementById('log-panel');
const lvc = document.getElementById('log-view-content');
if (lp && lvc) {
// Копируем текущее содержимое лог-панели в вид
lvc.innerHTML = lp.innerHTML || '<span style="color:#888;">Логи загружаются...</span>';
lp.style.display = 'none'; // скрываем нижнюю панель
if (lvc) {
lvc.innerHTML = '<span style="color:#888;">Логи загружаются...</span>';
fetch('/api/log').then(r => r.json()).then(lines => {
if (lines.length) {
lvc.innerHTML = lines.map(l => `<div>${_esc(l)}</div>`).join('');
} else {
lvc.innerHTML = '<span style="color:#888;">Логов пока нет</span>';
}
}).catch(() => {
lvc.innerHTML = '<span style="color:#f88;">Ошибка загрузки логов</span>';
});
}
// Скрываем нижнюю лог-панель если была открыта
const lp = document.getElementById('log-panel');
if (lp) lp.style.display = 'none';
} else {
// На всех видах кроме логов — скрываем нижнюю лог-панель
const lp = document.getElementById('log-panel');