From 5b99eb1f8ff6220c2d619c29ddd3af76c43a27ff Mon Sep 17 00:00:00 2001 From: iris Date: Fri, 19 Jun 2026 02:08:11 +0200 Subject: [PATCH] dashboard: keep bulk/M0V3 partial-failure toasts until dismissed The bulk-stop / M0V3 failure summaries list which agents failed; as auto-dismissing toasts an operator could miss a partial failure after navigating away. Make just those two summaries sticky (duration 0, click-to-dismiss); transient single-action errors keep auto-dismiss. --- frontend/packages/dashboard/src/tabs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/packages/dashboard/src/tabs.js b/frontend/packages/dashboard/src/tabs.js index 08f40813..6bfc31e7 100644 --- a/frontend/packages/dashboard/src/tabs.js +++ b/frontend/packages/dashboard/src/tabs.js @@ -1105,7 +1105,7 @@ window.marked = marked; sel.disabled = false; sel.selectedIndex = 0; if (failures.length) { - themedToast(`M0V3 completed with ${failures.length} failure${failures.length === 1 ? '' : 's'}:\n\n` + failures.join('\n'), { type: 'error' }); + themedToast(`M0V3 completed with ${failures.length} failure${failures.length === 1 ? '' : 's'}:\n\n` + failures.join('\n'), { type: 'error', duration: 0 }); } }); wrap.append(sel); @@ -1216,7 +1216,7 @@ window.marked = marked; btn.disabled = false; btn.innerHTML = original; if (failures.length) { - themedToast(`${label} completed with ${failures.length} failure${failures.length === 1 ? '' : 's'}:\n\n` + failures.join('\n'), { type: 'error' }); + themedToast(`${label} completed with ${failures.length} failure${failures.length === 1 ? '' : 's'}:\n\n` + failures.join('\n'), { type: 'error', duration: 0 }); } // Container-lifecycle events (ContainerStateChanged / // ContainerRemoved / RebuildQueueChanged) flow over the existing