diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f5fcb7..a7d979c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog - FlowDeck +## v7.50.2 (2026-10-06) — Peek de Library : nu comme local-workspace (plus de bande ni double scrollbar) + +### Fixed + +- **Le document ouvert par le bouton « Open » de Library n'occupait pas le + panneau** — `.peek-body` gardait un `padding:16px 20px` + `overflow-y:auto` + (héritage de l'ancien peek à rendu HTML) : l'iframe était amochée + (519×816 mesurés contre 559×848 en local-workspace) avec une bande grise + autour du document et une double scrollbar. Corps nu (`padding:0`, + `overflow:hidden`) : l'éditeur remplit le panneau, exactement comme le peek + « parfait » de /local-workspace (mesuré Playwright, cookie de session forgé). + +### Tests + +- `test_library_peek_body_has_no_inset_padding`. Suite 1266 passed / 0 failed + (-n auto) + ruff 0. + ## v7.50.1 (2026-10-06) — Peek des bases : le contenu se rend enfin + tableau pleine largeur ### Fixed diff --git a/VERSION b/VERSION index 1e6c3f0..ae0a37e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.50.1 +7.50.2 diff --git a/WORKLOAD.md b/WORKLOAD.md index ad55298..e011119 100644 --- a/WORKLOAD.md +++ b/WORKLOAD.md @@ -1,6 +1,6 @@ # WORKLOAD — FlowDeck Notion Clone -> **Début**: 2026-07-08 | **Version**: v7.50.1 (peek des bases : hydratation FlowDeckDB + Open de ligne, tableau pleine largeur) | **Statut**: EN COURS 🔄 +> **Début**: 2026-07-08 | **Version**: v7.50.2 (peek de Library nu — iframe pleine, comme local-workspace) | **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 ee0e4ff..7d2bde8 100644 --- a/app/main.py +++ b/app/main.py @@ -185,7 +185,7 @@ async def lifespan(_app: FastAPI): app = FastAPI( title="FlowDeck", - version="7.50.1", + version="7.50.2", docs_url="/docs", redoc_url="/redoc", lifespan=lifespan, diff --git a/app/templates/library.html b/app/templates/library.html index 7c98790..f4c80b0 100644 --- a/app/templates/library.html +++ b/app/templates/library.html @@ -150,7 +150,7 @@ .peek-header button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:4px;font-size:13px;display:flex;align-items:center;} .peek-header button:hover{background:var(--bg-hover);color:var(--text-primary);} .peek-header button svg{width:15px;height:15px;} -.peek-body{flex:1;overflow-y:auto;padding:16px 20px;} +.peek-body{flex:1;overflow:hidden;padding:0;} .peek-body .peek-empty{text-align:center;padding:60px 20px;color:var(--text-dim);} .peek-loading{text-align:center;padding:40px;color:var(--text-dim);} diff --git a/docs/openapi-v2.json b/docs/openapi-v2.json index 91ec9e2..2203f3b 100644 --- a/docs/openapi-v2.json +++ b/docs/openapi-v2.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "FlowDeck", - "version": "7.50.1" + "version": "7.50.2" }, "paths": { "/auth/register": { diff --git a/tests/test_my_tasks_workspace_coherence.py b/tests/test_my_tasks_workspace_coherence.py index a719b1b..db05adb 100644 --- a/tests/test_my_tasks_workspace_coherence.py +++ b/tests/test_my_tasks_workspace_coherence.py @@ -1396,6 +1396,18 @@ def test_library_peek_loads_the_embed_editor_only(): assert "frame.src = '/pages/' + item.id + '?embed=1'" in body +def test_library_peek_body_has_no_inset_padding(): + """Le corps du peek de Library est nu (padding 0, overflow hidden) : + l'iframe doit remplir le panneau comme dans local-workspace, sans double + scrollbar ni bande grise autour du document.""" + from pathlib import Path + + html = Path("app/templates/library.html").read_text(encoding="utf-8") + rule = html.split(".peek-body{")[1].split("}")[0] + assert "padding:0" in rule + assert "overflow-y:auto" not in rule + + def test_every_side_peek_loads_the_embed_editor_only(): """Library, My Tasks, bases et workspace local : le peek ne montre QUE le document éditable (`?embed=1`), jamais l'habillage pleine page."""