diff --git a/CHANGELOG.md b/CHANGELOG.md index 149d6de..647412c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,58 @@ # Changelog - FlowDeck +## v7.70.1 (2026-10-10) — Refonte navigation Repository : fix cache + erreurs console + +### Fixed + +- **Sidebar Repository et pages forge : erreurs console + « Undefined variable: filteredTreeItems / viewMode » corrigées** — + la refonte avait fait évoluer `gitea_workspace.html` sans faire évoluer + `?v=` (VERSION inchangée) : les navigateurs rejouaient l'ancien + `gitea_workspace.js` en cache contre le nouveau HTML, d'où des variables + Alpine inconnues et un arbre Repository inopérant. Le bump de version + invalide le cache et resynchronise HTML/JS. +- **Échecs réseau/Gitea désormais visibles au lieu d'un silence console** — + `loadSidebarTree`/`loadMainTree` affichent un message dans la section + Repository (« Connect Gitea/GitHub… », « Could not reach… » avec bouton + Retry) au lieu de laisser « Loading... » bloqué et de n'écrire que dans + la console. +- **Clics sidebar Repository attachés une seule fois** — `setupSidebarClicks` + posait un listener global `document` à chaque refresh, accumulant les + doublons (double toggle/fetch). Garde `_sidebarClicksBound`. + +## v7.70.0 (2026-10-09) — Projet Gitea : présentation + workspace local en parallèle + +### Fixed + +- **Ouverture d'un projet Gitea : le workspace local miroir est désormais + ouvert en parallèle dès le premier affichage** — `GET /gitea-workspace` + calculait la sidebar **avant** de créer le workspace miroir, donc le + premier rendu montrait « No workspace open » / un `localWsId: 0` et la + section « Workspace » restait vide (il fallait recharger). Le miroir est + maintenant créé/résolu **avant** `_sidebar_data`, qui reçoit en plus le + contexte projet explicite `owner`/`repo` : la navigation directe ou un + favori `?owner=…&repo=…` (sans cookie `flowdeck_workspace`) résout + correctement le miroir au lieu de retomber sur « aucune espace ouverte ». +- **La carte « Workspace » de la sidebar n'est plus écrasée par l'arbre du + dépôt** — `loadGiteaTree()` (base.html) ciblait `#sidebar-workspace-items` + (l'arbre local) au lieu de `#sidebar-gitea-items` (la section + « Repository (Gitea) »), et son garde testait le mauvais conteneur : à + chaque page en contexte Gitea, il remplaçait l'arbre du miroir local par + une copie non interactive de la racine du dépôt. Il cible désormais la + section Repository — l'équivalent local et le dépôt distant coexistent. +- **`GET /api/sidebar/workspace-tree` rend le miroir local, plus + « Remote workspace »** — après une création/renommage/déplacement (appel + `refreshSidebarTree()`), le cookie `gitea:owner:repo` renvoyait un + placeholder qui effaçait l'arbre du miroir. La route résout le workspace + miroir et rend son arbre (repli « No pages yet » s'il n'existe pas). + +### Tests + +- `tests/test_v7700_gitea_project_mirror.py` : création + affichage du miroir + au premier `GET /gitea-workspace` (cookie ou URL seule), rendu du miroir par + `/api/sidebar/workspace-tree`, et scan statique que `loadGiteaTree` cible + bien `#sidebar-gitea-items`. + ## v7.69.9 (2026-10-09) — /local-workspace : chemin du header + navigation dans les dossiers réparée ### Fixed diff --git a/VERSION b/VERSION index c28b81d..91bf70d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.69.9 +7.70.1 \ No newline at end of file diff --git a/app/templates/gitea_workspace.html b/app/templates/gitea_workspace.html index 3184ea3..b6a8b67 100644 --- a/app/templates/gitea_workspace.html +++ b/app/templates/gitea_workspace.html @@ -140,7 +140,7 @@