From 674baf6954d2a7847a87e8d98dfba888adda586a Mon Sep 17 00:00:00 2001 From: Bruno Charest Date: Thu, 8 Oct 2026 19:00:13 -0400 Subject: [PATCH] fix: og:image et twitter:image en URL absolue (v7.69.1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les meta `og:image` / `twitter:image` ajoutés en v7.69.0 pointaient vers une URL relative (`/static/img/logo-512.jpg`). Les crawlers — LinkedIn, Slack, Discord, iMessage — ignorent une URL relative : la carte de partage de FlowDeck était donc vide partout où un lien est collé. Correction via le motif déjà en place dans `app/templating.py` : un global Jinja `app_base_url()` construit à partir de `settings.app_base_url`, qui est LA MÊME source que les liens de partage de pages (`collaboration.py:32`). Si cette valeur est mal renseignée, ces liens l'étaient déjà — comportement cohérent plutôt qu'une deuxième source de vérité à maintenir. Lecture paresseuse de `settings` dans la fonction, à l'image de `_plugin_enabled` : un import au chargement du module créerait un import circulaire. Rendu vérifié sur l'instance déployée : og:image" content="http://localhost:8080/static/img/logo-512.jpg Tests : `test_og_image_url_is_absolute_via_base_url` vérifie le global ET l'absence de la forme relative dans les deux templates. Piège évité au passage — la forme absolue CONTIENT l'ancienne en sous-chaîne, donc l'assertion négative porte sur `content="/static/img/` (le guillemet avant la barre) et non sur l'URL complète. pytest 1413 passed / 0 failed · ruff OK · OpenAPI 526 chemins / 7.69.1 e2e 14/14 verts sur l'instance redéployée --- CHANGELOG.md | 11 +++++++++++ VERSION | 2 +- WORKLOAD.md | 2 +- app/main.py | 2 +- app/templates/base.html | 4 ++-- app/templates/landing.html | 4 ++-- app/templating.py | 12 ++++++++++++ docs/openapi-v2.json | 2 +- tests/test_v769_selection_persistence.py | 14 +++++++++++++- 9 files changed, 44 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2aaa94e..dc5b4e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog - FlowDeck +## v7.69.1 (2026-10-08) — `og:image` en URL absolue + +### Fixed + +- **`og:image` / `twitter:image` étaient des URL relatives** — les crawlers + (LinkedIn, Slack, Discord, iMessage…) ignorent une URL relative : la carte de + partage était vide. → global Jinja `app_base_url()` construit à partir de + `settings.app_base_url`, **la même source que les liens de partage de pages** + (`collaboration.py`) : si elle est mal renseignée, ces liens l'étaient déjà. + Lecture paresseuse, comme `_plugin_enabled`, pour éviter l'import circulaire. + ## v7.69.0 (2026-10-08) — La sélection multi-blocs fonctionne enfin (+ identité visuelle) ### Fixed diff --git a/VERSION b/VERSION index 0f4b2e9..0692f00 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.69.0 +7.69.1 diff --git a/WORKLOAD.md b/WORKLOAD.md index 312aab8..4fae1fb 100644 --- a/WORKLOAD.md +++ b/WORKLOAD.md @@ -1,6 +1,6 @@ # WORKLOAD — FlowDeck Notion Clone -> **Début**: 2026-07-08 | **Version**: v7.69.0 (sélection multi-blocs fonctionnelle : drag souris + Maj+↓, clic droit qui la préserve) | **Statut**: EN COURS 🔄 +> **Début**: 2026-07-08 | **Version**: v7.69.1 (sélection multi-blocs fonctionnelle : drag souris + Maj+↓ + Ctrl+C/X, clic droit qui préserve le surlignage ; identité visuelle logo/bannière) | **Statut**: EN COURS 🔄 > **Cible**: parité Notion + intégration forge · **Follow-ups v7.3 livrés**: sidebar teamspaces, notif `page.updated`, charts `number` + dashboards multi-DB, unfurl forge, UI Settings → Audit — voir `ROADMAP.md § v7.3.0` ## Avancement Global diff --git a/app/main.py b/app/main.py index 64ca72a..e3cf24a 100644 --- a/app/main.py +++ b/app/main.py @@ -186,7 +186,7 @@ async def lifespan(_app: FastAPI): app = FastAPI( title="FlowDeck", - version="7.69.0", + version="7.69.1", docs_url="/docs", redoc_url="/redoc", lifespan=lifespan, diff --git a/app/templates/base.html b/app/templates/base.html index 67fc00a..a48f7b8 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -14,11 +14,11 @@ - + - + diff --git a/app/templates/landing.html b/app/templates/landing.html index 04a26e1..5bfacfc 100644 --- a/app/templates/landing.html +++ b/app/templates/landing.html @@ -17,11 +17,11 @@ - + - +