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 });