diff --git a/RELEASES.json b/RELEASES.json
index d506d87..deee288 100644
--- a/RELEASES.json
+++ b/RELEASES.json
@@ -1,4 +1,12 @@
[
+ {
+ "version": "2026-04-29T20:10Z",
+ "date": "2026-04-29",
+ "title": "Blur versucht zu fixen",
+ "items": [
+ "war nix..."
+ ]
+ },
{
"version": "2026-04-26T21:10Z",
"date": "2026-04-26",
diff --git a/src/static/dashboard.html b/src/static/dashboard.html
index 70c9cee..0ad8ebb 100644
--- a/src/static/dashboard.html
+++ b/src/static/dashboard.html
@@ -626,9 +626,9 @@
-
+
-
+
diff --git a/src/static/js/app.js b/src/static/js/app.js
index 2f0dc71..1d94dfa 100644
--- a/src/static/js/app.js
+++ b/src/static/js/app.js
@@ -736,7 +736,11 @@ const App = {
const prevMini = document.getElementById('progress-mini');
if (prevMini) prevMini.style.display = 'none';
const grid = document.querySelector('.tab-panels');
- if (grid) grid.classList.remove('blurred');
+ // Wenn gerade ein erster Refresh laeuft, Blur stehen lassen statt
+ // remove+add im selben Tick — CSS filter:blur greift sonst nicht.
+ const _restState = isRefreshing ? UI._progressState[id] : null;
+ const _willReBlur = _restState && _restState.isFirst && !_restState.minimized;
+ if (grid && !_willReBlur) grid.classList.remove('blurred');
if (isRefreshing) {
const state = UI._progressState[id];
diff --git a/src/static/js/components.js b/src/static/js/components.js
index a58fb21..5a05c8c 100644
--- a/src/static/js/components.js
+++ b/src/static/js/components.js
@@ -336,7 +336,16 @@ const UI = {
overlay.classList.add('blocking');
// Apply blur to grid
const grid = document.querySelector('.tab-panels');
- if (grid) grid.classList.add('blurred');
+ if (grid) {
+ grid.classList.add('blurred');
+ // Sicherheitsnetz: bei viel DOM-Reshuffle im selben Tick
+ // (Display-Wechsel, renderSidebar, leere innerHTML) greift
+ // CSS filter:blur erst beim naechsten Layout-Pass. Im
+ // naechsten Frame nochmal setzen — idempotent.
+ requestAnimationFrame(() => {
+ if (state && state.isFirst) grid.classList.add('blurred');
+ });
+ }
} else {
overlay.classList.remove('blocking');
}