refactor: noms publics dracodev par configuration (dev/prod)
Aucun nom public d'une autre app dracodev n'est codé en dur dans le code vivant : nouveau module app/services/draco_urls.py (env > config > défaut officiel, jamais de -dev en défaut). CSP connect-src/frame-src, bouton SSO ObsiGate, révocations SSO, événements agent, preset MCP TikTak, barre commune, panneau Spark (injection hôte DRACO_PANNEAU_CONFIG), refs croisées (hôte configuré + officiel reconnus, URL d'affichage reconstruite, aucune donnée stockée migrée), User-Agent OG, liens Gitea. Variables ajoutées DRACO_AGENT_URL/TIKTAK_URL/KANBANTE_URL/FLOWDECK_URL, réutilisées DRACO_SSO_URL/OAUTH_REDIRECT_URI/AGENT_EVENEMENTS_URL/GITEA_URL/APP_BASE_URL. Version 7.82.0.
This commit is contained in:
@@ -1,5 +1,44 @@
|
||||
# Changelog - FlowDeck
|
||||
|
||||
## v7.82.0 (2026-10-25) — Noms publics dracodev par configuration (dev/prod)
|
||||
|
||||
- **Aucun nom public d'une autre application n'est plus codé en dur**
|
||||
dans le code vivant : nouveau module `app/services/draco_urls.py`,
|
||||
source unique qui résout chaque URL depuis l'environnement
|
||||
(env > `app/config.py` > défaut). Les **défauts sont les noms
|
||||
officiels** (production) ; un environnement dev déclare ses noms
|
||||
en `-dev` dans son `.env` (qui survit aux déploiements par release).
|
||||
Variables **ajoutées** : `DRACO_AGENT_URL`, `TIKTAK_URL`,
|
||||
`KANBANTE_URL`, `FLOWDECK_URL`, `AGENT_EVENEMENTS_URL` (documentée).
|
||||
Variables **réutilisées** : `DRACO_SSO_URL` (ObsiGate/SSO, déjà en
|
||||
service), `OAUTH_REDIRECT_URI` (son origine sert d'URL publique à
|
||||
l'instance si `FLOWDECK_URL` est vide), `AGENT_EVENEMENTS_URL` +
|
||||
`AGENT_EVENEMENTS_CLE`, `GITEA_URL`, `APP_BASE_URL`.
|
||||
- **Surfaces corrigées** : CSP (`connect-src`/`frame-src` du service
|
||||
d'agents dérivés de `DRACO_AGENT_URL`) ; bouton « Login with
|
||||
ObsiGate (SSO) » de la page de connexion (émettrice + retour
|
||||
dérivés de la config) ; émission d'événements (endpoint dérivé de
|
||||
la base de l'agent si `AGENT_EVENEMENTS_URL` est vide) ; révocations
|
||||
SSO (`DRACO_SSO_URL`) ; preset MCP TikTak des connecteurs et du
|
||||
panneau agent (URL injectée par l'hôte) ; User-Agent du fetcher OG
|
||||
(URL publique de l'instance) ; barre commune `_draco_bar.html`
|
||||
(href injectés par l'hôte via `draco_urls()`) ; panneau Spark
|
||||
vendangé (contrat d'injection `window.DRACO_PANNEAU_CONFIG.agent_url`
|
||||
rendu par `base.html`, repli = nom officiel seulement ; déduction
|
||||
de l'app hôte insensible au suffixe `-dev`) ; liens Gitea du
|
||||
dashboard et des réglages (`GITEA_URL`).
|
||||
- **Références croisées** : le parseur de liens profonds reconnaît
|
||||
l'hôte **configuré** de chaque app **et** l'hôte officiel, et l'URL
|
||||
d'affichage est reconstruite avec l'hôte configuré (chemin, requête
|
||||
et fragment intacts). **Aucune donnée migrée** : `target_url` reste
|
||||
stockée telle que collée par l'utilisateur ; seule l'affichage est
|
||||
recalculée.
|
||||
- **Extension Web Clipper** : les manifests autorisent aussi
|
||||
l'hôte dev (`flowdeck-dev.dracodev.net`) à côté de l'officiel.
|
||||
- Tests : nouvelle suite `tests/test_draco_urls_devprod.py`
|
||||
(défauts officiels sans `-dev`, surcharges dev, CSP, liens profonds
|
||||
dev + officiels, URL d'affichage, preset TikTak, bouton SSO).
|
||||
|
||||
## v7.81.0 (2026-10-22) — Panneau Spark V3 : la console en surimpression pleine page
|
||||
|
||||
- **Fini le nouvel onglet** (demande de Bruno) : le bouton
|
||||
|
||||
Reference in New Issue
Block a user