Filtrer les couches retirées du flux /api/tiles et de la fusion en direct

Au rechargement de la page, l'index obsolète du worker (16 couches)
polluait le /api/tiles fusionné et mergeTilesData réajoutait les couches
retirées au menu. viz_meta est désormais filtré aux couches du panneau
(PANEL_VIZ) côté serveur, et le panneau client est figé au chargement
(clés VIZ_META initiales) : aucun flux ne peut réintroduire de couche
hors panneau, même avec un index distant périmé.
This commit is contained in:
Antoine Jacquin
2026-09-13 23:06:08 +02:00
parent f79608a92f
commit 0d3aa41008
3 changed files with 28 additions and 5 deletions

View File

@ -763,6 +763,13 @@ def tiles_data(stamp: Optional[float] = None):
keys.add(k)
viz_meta = dict((data or {}).get("viz_meta") or {})
viz_meta.update((remote or {}).get("viz_meta") or {})
# Le panneau de couches est figé (PANEL_VIZ) : un index obsolète (ex.
# worker antérieur à la restriction) ne doit pas réintroduire de couches
# retirées dans le menu au rechargement de la page.
from .index import PANEL_VIZ
if PANEL_VIZ is not None:
allowed = set(PANEL_VIZ)
viz_meta = {k: v for k, v in viz_meta.items() if k in allowed}
return {
"tiles": merged,
"viz_meta": viz_meta,