diff --git a/diagnostic/index.html b/diagnostic/index.html index feb983f..26d1652 100644 --- a/diagnostic/index.html +++ b/diagnostic/index.html @@ -1767,14 +1767,21 @@ if (msg.type === 'disk_cleanup') { const btn = document.getElementById('disk-clean-btn'); + const dtext = document.getElementById('disk-banner-text'); if (msg.status === 'running') { if (btn) { btn.disabled = true; btn.textContent = 'Raeume auf...'; } } else if (msg.status === 'done') { - if (btn) { btn.disabled = false; btn.textContent = 'Sicher aufraeumen'; } - alert('Aufgeraeumt: ' + (msg.freed || '0 MB') + ' frei\n(' + (msg.steps || []).join(', ') + ')'); + // Feedback NICHT nur per alert() (koennte unterdrueckt sein) — + // direkt am Button + im Banner sichtbar machen. + if (btn) { + btn.disabled = false; + btn.textContent = '✓ ' + (msg.freed || '0 MB') + ' frei'; + setTimeout(() => { btn.textContent = 'Sicher aufraeumen'; }, 6000); + } + if (dtext) dtext.textContent = 'Aufgeraeumt: ' + (msg.freed || '0 MB') + ' frei (' + (msg.steps || []).join(', ') + '). Disk-Status aktualisiert sich gleich.'; } else if (msg.status === 'error') { - if (btn) { btn.disabled = false; btn.textContent = 'Sicher aufraeumen'; } - alert('Aufraeumen fehlgeschlagen: ' + (msg.error || '')); + if (btn) { btn.disabled = false; btn.textContent = 'Fehler — nochmal'; setTimeout(() => { btn.textContent = 'Sicher aufraeumen'; }, 6000); } + if (dtext) dtext.textContent = 'Aufraeumen fehlgeschlagen: ' + (msg.error || ''); } return; } @@ -6776,12 +6783,17 @@ // Fuehrt das Aufraeumen WIRKLICH aus (Server-seitig via Docker-API), statt // nur den Befehl zu kopieren. + // WICHTIG: "safe" laeuft OHNE confirm() — Build-Cache + ungenutzte Images + // sind ungefaehrlich (keine Volumes/Daten). Frueher blockte ein confirm() + // den Klick, wenn der Browser Dialoge unterdrueckt hatte ("Verhindern, + // dass diese Seite weitere Dialoge erstellt") → confirm()===false → es ging + // NICHTS raus. Nur "aggressive" (Volumes!) fragt noch nach. function runDiskCleanup(variant) { const aggressive = variant === 'aggressive'; - const q = aggressive - ? 'AGGRESSIV aufraeumen? Loescht zusaetzlich ungenutzte Volumes — nur wenn ALLE ARIA-Container laufen, sonst Datenverlust!' - : 'Sicher aufraeumen? Loescht Build-Cache + ungenutzte Images (keine Volumes, keine Daten gehen verloren).'; - if (!confirm(q)) return; + if (aggressive) { + const ok = confirm('AGGRESSIV aufraeumen? Loescht zusaetzlich ungenutzte Volumes — nur wenn ALLE ARIA-Container laufen, sonst Datenverlust!'); + if (!ok) return; + } const btn = document.getElementById('disk-clean-btn'); if (btn && !aggressive) { btn.disabled = true; btn.textContent = 'Raeume auf...'; } send({ action: 'disk_cleanup', variant });