Commit Graph
130 Commits
Author SHA1 Message Date
bruno 642c7bbb2d Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 23:39:41 -04:00
bruno 7a3081c408 Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 23:39:39 -04:00
bruno 21414de936 Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 1s
2026-10-28 23:39:37 -04:00
bruno 91ddfcd3b3 Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 23:12:48 -04:00
bruno 2c10040046 Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 23:12:46 -04:00
bruno c60694bf23 Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 22:59:07 -04:00
bruno a08fa53bab Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 22:59:05 -04:00
bruno 0d6499ed1a Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 22:47:07 -04:00
bruno e8f48d3009 Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 22:35:53 -04:00
bruno dd6a4dd82c Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 0s
2026-10-28 22:35:51 -04:00
bruno 8ab30d25ef Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 1s
2026-10-28 22:12:04 -04:00
bruno 6cac4e71f5 Page Projets : copie URL dans le menu ⋯ + refonte thème barre Fusion/Spark (#44, #45)
CI / test (push) Failing after 1s
2026-10-28 22:12:01 -04:00
bruno 5787bcf168 Bump 0.37.6
CI / test (push) Failing after 0s
2026-10-28 16:20:59 -04:00
bruno c97dfb0ef4 CORS recherche: autoriser les origines agent (console Spark) prod+dev
CI / test (push) Failing after 2s
2026-10-28 16:11:26 -04:00
bruno d11ca0cbff Bump Kanbante 0.37.5 (alignement recherche console #68)
CI / test (push) Failing after 0s
2026-10-28 15:06:45 -04:00
bruno 3888e4ad6a Bump 0.37.4
CI / test (push) Failing after 0s
2026-10-28 14:29:10 -04:00
bruno 0336f19f0f Rebase chantier 5 sur main post-#37/#38 : _draco_bar.html (contenu #39 intact)
CI / test (push) Failing after 0s
2026-10-28 14:27:18 -04:00
bruno 8f437e3a3e Merge pull request 'Recherche partout (#68, chantier 2+3) : onglets, Tout voir sur place, focus, mise en page' (#38) from recherche-onglets-ux-68 into main
CI / test (push) Failing after 0s
2026-10-28 14:25:40 -04:00
bruno 699600eda3 Recherche partout (#68, chantier 2+3) : onglets, Tout voir sur place, focus, mise en page
CI / test (push) Failing after 1s
2026-10-28 13:49:35 -04:00
bruno aa98eb6866 CORS alertes (fusion #69) : allowlist /api/events prod+dev
CI / test (push) Failing after 0s
2026-10-28 13:45:30 -04:00
bruno 409e67d57b CORS recherche/alertes (fusion #68/#69) : allowlist soeurs prod+dev explicites
CI / test (push) Failing after 3m51s
2026-10-28 13:45:27 -04:00
bruno f7a0597575 Bump 0.37.3 (programme Fusion #68/#69/#70)
CI / test (push) Failing after 0s
2026-10-28 13:00:13 -04:00
bruno 35f1cccd03 Fusion #69 : alertes unifiées (rebase sur main post-#70 et post-#68)
CI / test (push) Failing after 3m45s
2026-10-28 12:46:59 -04:00
bruno f29a640d9a Fusion #69 : alertes unifiées (rebase sur main post-#70 et post-#68)
CI / test (push) Failing after 1s
2026-10-28 12:46:55 -04:00
bruno cf98880fc8 Merge pull request 'Recherche partout (#68) : page de résultats unifiée + endpoint JSON /api/search' (#35) from recherche-partout-68 into main
CI / test (push) Failing after 2s
2026-10-28 12:40:46 -04:00
bruno 39750851b0 Recherche partout (#68) : CORS résolue avec l'hôte de la requête (ordre middlewares)
CI / test (push) Failing after 1s
CI / test (pull_request) Failing after 0s
2026-10-28 12:13:03 -04:00
bruno b2d2fd1eee Recherche partout (#68) : palette de la barre -> /recherche
CI / test (push) Successful in 3m50s
CI / test (pull_request) Successful in 4m0s
2026-10-28 12:08:18 -04:00
bruno 0de3b65869 Recherche partout (#68) : routes /recherche + /api/search, draco sur /api/search, CORS bornée
CI / test (push) Failing after 1s
2026-10-28 12:08:14 -04:00
bruno a30fa9d8f3 Recherche partout (#68) : JSON de recherche + CORS bornée
CI / test (push) Failing after 1s
2026-10-28 12:07:41 -04:00
bruno 61f299305a Recherche partout (#68) : gabarit de la page
CI / test (push) Failing after 3s
2026-10-28 12:07:39 -04:00
bruno 961556fb78 fusion #70 : retirer le bouton trois points et la branche menu morte
CI / test (push) Failing after 11m13s
2026-10-28 12:01:57 -04:00
bruno 8015d22a06 Bump 0.37.2 (app/config.py)
CI / test (push) Failing after 0s
2026-10-28 10:37:39 -04:00
bruno d3886b6bf5 barre-apps v0.1.6 : fragment (avatar bouton compte, menu par defaut demande, cfg.user initiale)
CI / test (push) Failing after 1s
2026-10-28 10:31:19 -04:00
bruno c46d6dc519 coffre(obsigate#22): webhook distribue le secret reference a chaque appel, sans repli; validation reference admin
CI / test (push) Failing after 0s
CI / test (pull_request) Failing after 1s
2026-10-27 23:52:37 -04:00
bruno 4184ba0272 coffre(obsigate#22): formulaire admin accepte une reference coffre pour le secret webhook
CI / test (push) Failing after 1s
2026-10-27 23:52:34 -04:00
bruno 003e44f55e coffre(obsigate#22): client de distribution generique (reference, contexte, sans cache ni log de valeur)
CI / test (push) Failing after 1s
2026-10-27 23:52:19 -04:00
Spark 53f54b1b79 feat(0.37.1): version du service d'agents visible dans le panneau Spark (mode sidebar) — fusion #64
CI / test (push) Failing after 1s
2026-10-26 16:49:25 +00:00
Spark 80fc260a40 feat(0.37.0): tri dashboard « En attente de revue » + sens des tris numériques corrigé
CI / test (push) Successful in 2m27s
- Nouveau critère 🔍 En attente de revue ↓ (compteur de la
  colonne review exposé en data-review sur les cartes) ;
  s'applique à toutes les grilles, Épinglés en tête,
  préférence mémorisée comme les autres tris.
- Correctif attrapé au contrôle navigateur réel : le tri
  « Issues ouvertes ↓ » historique triait croissant — le
  comparateur inversait les clés numériques. Modes open et
  review en ka - kb : plus grand compteur en premier.
  Vérifié sur données réelles (Épinglés : 196, 95, 32, 5, 4).
- 299 tests verts (3 nouveaux, palier 25).
2026-10-26 11:19:53 -04:00
Spark 8ad3a86e60 feat(0.36.0): outil MCP move_issue — déplacement de carte par le service d'agents
CI / test (push) Failing after 1m27s
Le serveur MCP n'exposait en écriture que create_issue et
add_comment : un déplacement approuvé côté service d'agents
(kanbante.move_card, vague H3) aurait échoué faute d'outil.

- move_issue (owner, repo, number, column) réutilise le service
  de déplacement de l'interface (_do_move_card, extrait de
  POST /api/move sans changement de comportement) : board
  local, journal source « mcp », miroir d'étiquette kanban:*
  remplacée, autres étiquettes préservées.
- Colonne acceptée par clé, par étiquette de forge ou par
  libellé français affiché (définitions de l'espace).
- Garde doctrine : la cible done (« Terminé ») est refusée
  avant toute écriture — les agents s'arrêtent en Révision.
- Erreurs propres : colonne inconnue (liste des valides),
  dépôt/issue inconnu, pull request refusée.
- 296 tests verts (5 nouveaux + épingles de la liste d'outils
  mises à jour).
2026-10-26 15:06:02 +00:00
Spark a92353f8ef feat(0.35.0): jalons en écriture depuis la page Projet (issue #26)
CI / test (push) Successful in 2m22s
- Clients : create_milestone / update_milestone (cache
  invalidé) ; GitHub hérite des mêmes endpoints.
- API Kanbante : création, modification (titre/échéance,
  échéance vidée = retirée), fermeture ; CSRF, validation
  de date avant toute écriture, erreurs forge en 502.
- Page Projet : formulaire 'Nouveau jalon' + édition/
  fermeture par jalon (project.js versionné).
- Échéance à midi UTC : à minuit, le fuseau de l'instance
  Gitea faisait reculer la date affichée d'un jour (réel).
- 291 tests verts (5 nouveaux, palier 24) ; cycle réel
  complet sur Projets/kanbante (jalons smoke #37/#38 créés,
  dates vérifiées, fermés).
2026-10-26 10:53:29 -04:00
Spark 8c889878ee feat(0.34.0): vue « En vol partout » /inflight (issue #24)
CI / test (push) Successful in 2m24s
- L'encours (colonnes en vol de l'espace) tous projets
  actifs, regroupé PAR colonne, trié par âge décroissant
  dans la colonne (pipeline _card_ages du board).
- En-tête : total + compteurs par colonne + limite WIP
  globale (somme des projets qui en définissent).
- Entrées Pilotage (menu latéral) et palette Ctrl+K ; SSE
  /api/stream via live.js comme les autres vues.
- Réutilise _collect_focus_groups : aucun appel forge en
  plus. 286 tests verts (5 nouveaux, palier 23) ; vérifié
  en Chromium réel (356 cartes en vol sur les vraies
  données, dont la carte #24 elle-même).
2026-10-26 10:48:45 -04:00
Spark 9fe35f6c8f feat(0.33.0): filtrage professionnel sur Mes issues (/my)
CI / test (push) Successful in 2m26s
- Barre de filtres en carte : recherche texte (titre, projet,
  #numéro, étiquettes ; accents/casse ignorés, raccourci /),
  listes Projet et Étiquette avec compteurs, chips de
  colonnes colorées multi-sélection, 4 tris.
- Facettes calculées côté serveur ; filtrage instantané côté
  client (attributs data-*), compteur en direct, compteurs
  de section, état vide + réinitialisation.
- Filtres structurels persistés en localStorage.
- 281 tests verts (3 nouveaux, palier 22) ; vérifié en
  Chromium réel sur les vraies données (467 issues :
  recherche 'agent' -> 24 résultats instantanés).
2026-10-26 10:20:37 -04:00
Spark d419fe3086 fix(0.32.2): résolution par requête des URL dracodev, base agent dérivée et CSP du panneau
CI / test (push) Successful in 2m21s
La dérivation 0.32.1 ne couvrait que les URL sœurs depuis
AGENT_EVENEMENTS_URL, jamais agent_url : sur la dev, le panneau
visait le défaut prod (agent injoignable, prod non installée),
console morte. Désormais, pour tout rendu à une requête (barre,
iframe du panneau, CSP frame-src) : explicite > hôte public au
motif fermé dracodev > dérivation élargie (événements ou base du
service) > défaut officiel. Contextes sans requête inchangés
sinon ; aucun SSO ajouté.
2026-10-26 02:07:46 +00:00
Spark 65c467bc90 fix(0.32.1): URL sœurs dracodev dérivées de l'environnement de l'agent
CI / test (push) Successful in 2m58s
2026-10-25 23:49:33 +00:00
Spark 4a97e0d0dc refactor: noms publics dracodev par configuration (dev/prod)
CI / test (push) Successful in 2m22s
2026-10-25 18:02:21 +00:00
Spark 7852d860fe fix(0.31.1): compositeur de création refait, description en <details> natif
CI / test (push) Successful in 2m13s
- Carte compositeur : en-tête + colonne d'arrivée, champ
  pleine largeur, bouton primaire ; neutralise le
  display:flex imposé par .board-toolbar aux formulaires.
- 'Ajouter une description' devient un <details> natif :
  aucun JS requis, insensible au cache et aux erreurs de
  scripts (le bouton 0.31.0 pouvait rester inerte).
- Assets du board versionnés (?v=APP_VERSION) contre les
  mélanges de cache après redéploiement ; Ctrl+Entrée.
- Vérifié en Chromium réel sur le vrai board (captures
  contrôlées) ; 261 tests verts.
2026-10-23 09:48:17 -04:00
Spark d4cf8d1275 feat(0.31.0): description éditable, pièces jointes d'issues, clic carte fiable
CI / test (push) Successful in 2m10s
- Tiroir : édition du titre et de la description (PATCH
  forge, journal 'edited', EVENT_TYPES étendu), création
  avec description dépliable.
- Pièces jointes Gitea de bout en bout : client
  list/upload/delete/download (le téléchargement suit
  browser_download_url — l'endpoint asset ne sert que du
  JSON, attrapé au smoke réel), routes proxifiées avec
  CSRF et plafond 25 Mio, UI liste/envoi/suppression ;
  GitHub : supports_attachments=False, message propre.
- Clic carte en délégation d'événement : les écouteurs par
  carte mouraient au premier rafraîchissement live.
- 261 tests verts (7 nouveaux, palier 21) ; cycle réel
  complet validé sur une issue jetable du vrai Gitea
  (création, édition, envoi, téléchargement, suppression).
2026-10-23 09:27:38 -04:00
Spark 28322c12cf feat(0.30.0): colonnes personnalisables par espace + mapping étiquette ↔ colonne
CI / test (push) Successful in 2m17s
- Table board_columns par espace (clé immuable, nom/couleur/
  ordre libres, étiquette mappée + alias, drapeau Focus) ;
  définitions semées paresseusement depuis les valeurs
  historiques — sans personnalisation, comportement identique.
- Service app/board_columns.py : résolution, mapping
  étiquette→colonne (alias compris, ex. kanban_a_faire de
  Flowdeck), colonnes Focus/Wallboard.
- Board, API, adoption, miroirs d'étiquettes, déplacements,
  capture, santé, focus, wall, dashboard branchés sur les
  colonnes de l'espace ; validations dynamiques dans models
  (move_issue, set_column_order) et rules.
- Administration → Colonnes : ajouter (avant Terminé),
  renommer, réordonner, mapper, supprimer avec migration des
  cartes vers une colonne choisie, réinitialiser ; bouton
  🧱 Colonnes sur le board ; journal d'audit.
- Backlog et Terminé : colonnes système non supprimables.
- 254 tests verts (7 nouveaux, palier 20) ; smoke réel contre
  le vrai Gitea : création, affichage au board, suppression.
2026-10-23 08:38:02 -04:00
Spark 3964323abd Panneau Spark V3 : console en surimpression pleine page (0.29.0)
CI / test (push) Successful in 2m11s
2026-10-23 04:10:35 +00:00
Spark 4230ac1052 Panneau Spark : bouton « Console ↗ » vers la console du service (0.28.1)
CI / test (push) Successful in 2m6s
2026-10-22 21:18:49 +00:00