Promote develop → main (2026-04-29 20:10 UTC)

This commit was merged in pull request #3.
Dieser Commit ist enthalten in:
2026-04-29 22:10:57 +02:00
Commit c57ac6c6d8
4 geänderte Dateien mit 25 neuen und 4 gelöschten Zeilen

Datei anzeigen

@@ -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",

Datei anzeigen

@@ -626,9 +626,9 @@
<script src="/static/vendor/leaflet.markercluster.js"></script>
<script src="/static/js/api.js?v=20260423a"></script>
<script src="/static/js/ws.js?v=20260316b"></script>
<script src="/static/js/components.js?v=20260316d"></script>
<script src="/static/js/components.js?v=20260427a"></script>
<script src="/static/js/layout.js?v=20260316b"></script>
<script src="/static/js/app.js?v=20260423a"></script>
<script src="/static/js/app.js?v=20260427c"></script>
<script src="/static/js/cluster-data.js?v=20260322f"></script>
<script src="/static/js/tutorial.js?v=20260316z"></script>
<script src="/static/js/chat.js?v=20260422a"></script>

Datei anzeigen

@@ -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];

Datei anzeigen

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