fix: side peek des bases repasse en vanilla JS + largeur 1100px standard (v7.49.0)
FlowDeck CI / test (push) Failing after 3h13m58s
FlowDeck CI / lint (push) Successful in 2m12s
FlowDeck CI / docker (push) Skipped

- Panneau peek: les bindings Alpine (x-data absent du conteneur) rendaient
  loovverture et le redimensionnement inoperants -> cblage direct sur le document.
- Helper unique window.fdWirePeekResize (app.js): pointer capture, 300px-90vw,
  clic=fermer, largeur persiste fd_peek_width partagee entre les 4 peeks.
- database-table-container margin:0 (tableau colle a gauche, marge Library).
- .lib-container remonte dans app.css (trash etait pleine largeur), .db-index 1100px.
- ObsiGate verifie sans code: creation .xlsx OK (openpyxl, #186).
This commit is contained in:
2026-10-05 22:47:36 -04:00
parent 894004a1f5
commit 1d1cdbd618
63 changed files with 9473 additions and 393 deletions
+8
View File
@@ -13,6 +13,10 @@ import re
from datetime import UTC, datetime, timedelta
from app.db import get_conn
from app.services.collection_lifecycle import (
collections_hosted_by_page,
delete_collections,
)
logger = logging.getLogger(__name__)
@@ -57,6 +61,9 @@ def purge_expired(days: int = 30) -> dict:
if dt is None or dt >= cutoff:
continue
page_id = row["id"]
# A purged host page takes its database with it, otherwise the
# workspace kept advertising tasks whose document is gone.
collections = collections_hosted_by_page(conn, page_id)
# Promote direct children to the deleted page's parent so no live
# sub-tree is orphaned (matches the permanent-delete semantics).
conn.execute(
@@ -65,6 +72,7 @@ def purge_expired(days: int = 30) -> dict:
(page_id, page_id),
)
conn.execute("DELETE FROM pages WHERE id=?", (page_id,))
delete_collections(conn, collections)
purged.append(page_id)
conn.commit()
if purged: