-
7.82.4 — Résolution dev/prod par l'hôte de la requête : le mode console du panneau revit en dev
Stablereleased this
2026-10-25 23:05:04 -04:00 | 3 commits to main since this releaseCorrectif dev/prod (2) : sur flowdeck-dev, le mode console du panneau Spark restait une page morte — prouvé en direct avant correctif : la 7.82.3 tournait bien (GET /api/health → 7.82.3), mais sa CSP servait frame-src/connect-src vers https://agent.dracodev.net (prod pas encore installée) et la source de l'iframe console (DRACO_PANNEAU_CONFIG.agent_url) valait la même origine morte.
Deux trous laissés par la 7.82.3 : agent_url() n'avait aucune dérivation (même avec AGENT_EVENEMENTS_URL en -dev, l'agent retombait sur le nom officiel), et aucune résolution ne lisait l'hôte de la requête.
Cure — pour tout ce qui est rendu à une requête (barre / DRACO_URLS servi, source de l'iframe du panneau, origine agent des CSP frame-src/connect-src, boutons et redirections SSO : émettrice via DRACO_SSO_URL résolu, callback = OAUTH_REDIRECT_URI dont l'origine est sa propre origine résolue), ordre de résolution : 1) variable explicite, prioritaire et inchangée ; 2) hôte public de la requête — motif fermé ^(og|flowdeck|tiktak|kanbante|agent)().dracodev.net$ (suffixe optionnel, p. ex. -dev, vide en prod), appliqué à toutes les sœurs et à l'agent, jamais de suffixe inventé depuis un hôte arbitraire, hors motif (LAN, IP) → étape suivante ; 3) dérivation par les adresses de l'agent connues en configuration, élargie (URL d'événements ou base du service — agent_url() se dérive désormais de l'URL d'événements explicite) — aussi la résolution des contextes sans requête, inchangée sinon ; 4) défaut officiel. L'hôte est posé par le middleware CSP dans un ContextVar (patron du nonce CSP) : l'iframe du panneau et la CSP de la même réponse consomment la même origine résolue.
Tests : tests/test_draco_urls_devprod.py +12 (25/25) — Host dev sans aucune variable d'environnement → barre, iframe, CSP et SSO entièrement en -dev ; Host prod → noms officiels ; Host LAN → repli config/défauts ; explicite gagne sur l'hôte ; motif fermé ; contextes sans requête inchangés. Suite complète : 4 failed / 26 errors identiques sur arbre propre (familles préexistantes MCP/realtime/my_tasks/gallery/sync) — 1319 passed avec le correctif. Ruff vert.
⚠️ Déploiement : une release redéploie sur l'hôte actuel, devenu la DEV (flowdeck-dev.dracodev.net).
Downloads