From 832204c3d835454af710e0cb2565a7dbe4f2aec3 Mon Sep 17 00:00:00 2001 From: s4luorth Date: Mon, 7 Sep 2026 07:22:15 +0200 Subject: [PATCH] Formate: neue render_formats ohne Backend-Neustart aktiv (Miss-Nachladen entklemmt) signaledMisses-Sperre entfernt (blockierte das Nachladen, wenn die Drossel griff), Nachlade-Drossel 30s -> 5s. Neue Formate greifen so binnen Sekunden. Co-Authored-By: Claude Opus 4.8 --- src/lib/page-layout.js | 7 +++---- src/server.js | 7 ++++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/page-layout.js b/src/lib/page-layout.js index 328ee60..e31d050 100644 --- a/src/lib/page-layout.js +++ b/src/lib/page-layout.js @@ -57,7 +57,6 @@ function applyRenderFormats(rows) { PAGE_FORMATS = pf; FORMAT_LAYOUTS = fl; LINE_LIMITS = ll; - signaledMisses.clear(); } // mm in Pixel umrechnen @@ -72,12 +71,12 @@ function mmToPx(mm) { // stündliche Aktualisierung abzuwarten. Für DIESEN Aufruf greift noch der // Default – der nächste Aufruf hat das Format. let missHandler = null; -const signaledMisses = new Set(); function setFormatMissHandler(fn) { missHandler = fn; } function signalMiss(key) { const k = String(key || '').toLowerCase(); - if (!missHandler || !k || signaledMisses.has(k)) return; - signaledMisses.add(k); + if (!missHandler || !k) return; + // Kein „schon gemeldet"-Merker mehr: sonst blieb ein Key hängen, wenn die + // Nachlade-Drossel gerade griff. Die Drossel im Handler verhindert Dauerfeuer. try { missHandler(k); } catch { /* egal */ } } diff --git a/src/server.js b/src/server.js index 50a87cb..ce865e4 100644 --- a/src/server.js +++ b/src/server.js @@ -27,10 +27,11 @@ async function refreshRenderFormats() { } } -// Unbekanntes Format angefragt → sofort nachladen (max. alle 30 s, damit ein -// dauerhaft unbekanntes Format kein Dauerfeuer auslöst). +// Unbekanntes Format angefragt → sofort nachladen (max. alle 5 s, damit ein +// dauerhaft unbekanntes Format kein Dauerfeuer auslöst). Neu in Directus angelegte +// Formate sind damit ohne Backend-Neustart binnen weniger Sekunden aktiv. setFormatMissHandler((key) => { - if (Date.now() - lastFormatRefresh < 30 * 1000) return; + if (Date.now() - lastFormatRefresh < 5 * 1000) return; console.log(`[Formate] Unbekanntes Format "${key}" angefragt – lade Formate nach.`); refreshRenderFormats(); });