From 4b5be8442b61ed641730866a45eb94501b2f20e8 Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Tue, 23 Jun 2026 20:02:53 +0300 Subject: [PATCH] =?UTF-8?q?fix(admin):=20=C2=AB=D0=9E=D1=82=D0=BA=D1=80?= =?UTF-8?q?=D1=8B=D1=82=D1=8C=C2=BB=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D1=88?= =?UTF-8?q?=D0=B5=D0=B9=20=D1=81=D0=B5=D1=81=D1=81=D0=B8=D0=B8=20=D0=B2?= =?UTF-8?q?=D0=B5=D0=B4=D1=91=D1=82=20=D0=BD=D0=B0=20=D0=B5=D1=91=20=D0=B4?= =?UTF-8?q?=D0=B5=D1=82=D0=B0=D0=BB=D0=B8,=20=D0=B0=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D1=83=D1=81=D1=82=D0=BE=D0=B9=20=D1=81=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Алерт «Зависла» (in_progress >1ч) вёл на /admin#sessions, но список сессий показывает ТОЛЬКО completed (getAllSessions: WHERE status='completed') — поэтому зависшей сессии там не было (симптом: «показывает зависший тест, но в списке его нет»). Теперь «Открыть» делает deep-link на детали конкретной сессии /admin#sessions/ — страница деталей открывает сессию при любом статусе (getSessionDetail без фильтра по статусу) и позволяет её посмотреть и удалить. node --check OK; id присутствует в payload overview (stuckSessions → ts.id). Co-Authored-By: Claude Opus 4.8 (1M context) --- frontend/js/dashboard-admin-center.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/js/dashboard-admin-center.js b/frontend/js/dashboard-admin-center.js index 586de98..f9d7a62 100644 --- a/frontend/js/dashboard-admin-center.js +++ b/frontend/js/dashboard-admin-center.js @@ -197,7 +197,10 @@ sev: 'amber', kind: 'stuck', kindLabel: 'Зависла', title: s.user_name || '—', meta: `${e(s.subject_name || '—')} · висит ${fmtSince(s.started_at)}`, - act: 'Открыть', actHash: '/admin#sessions', solid: true, + // Глубокая ссылка на ДЕТАЛИ конкретной сессии (открывается при любом статусе): + // список /admin#sessions показывает только completed, поэтому зависшая (in_progress) + // там не находилась. На странице деталей её можно посмотреть и удалить. + act: 'Открыть', actHash: '/admin#sessions/' + s.id, solid: true, }); }); const ab = d.abandonedSessions24h || 0;