Files
IdeA/.ideai/memory/ui-rework-sprint-delivered-tickets-21-22-23.md
Blomios ffc458e477 docs(memory): notes projet du sprint UI rework et des tickets #7/#14/#16/#17/#18/#25/#28
Capitalise les notes durables produites pendant le sprint UI rework et les
tickets livrés depuis. Commit séparé du code : `.ideai/memory/` est le store
durable versionné, il ne doit jamais être mélangé aux commits de feature.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 08:38:16 +02:00

2.6 KiB

name, description, metadata
name description metadata
ui-rework-sprint-delivered-tickets-21-22-23 memory note ui-rework-sprint-delivered-tickets-21-22-23
type
project

Sprint « UI rework » (order 1) bouclé le 2026-07-07. Les 4 premiers tickets (#16/#17/#18/#19) étaient déjà mergés ; les 3 derniers viennent d'être produits et intégrés. Cadrage : ui-rework-sprint-tickets-21-22-23-scoping.

Livré (tous verts QA par exécution réelle, mergés --no-ff sur develop)

  • #21 tri des tickets (B+F) — merge 37bf7d4. Backend : TicketListQuery.sort?:{field:"number"|"priority"|"status"|"title";direction:"asc"|"desc"}, appliqué avant pagination, tie-break systématique par number croissant. Ordres sémantiques : priority low<medium<high<critical ; status open<inProgress<QA<closed ; title casse-insensible. sort absent = comportement historique. Frontend : contrôle « Trier par… » dans TicketFacetsBar (partagé TicketsPanel + TicketPicker), sort dans query+queryKey (reset pagination), curseur reste opaque (G3-bis).
  • #22 docking de views (F pur) — merge 2323a71. Nouvelle primitive shared/ui/DockRegion + modèle features/projects/viewPlacement.ts : ViewPlacement = "closed"|"floating"|{dock:"left"|"right"} par PanelId, invariant un-seul-slot. Ne réutilise NI FloatingWindow NI LayoutTree terminaux (monté chrome-level ProjectsView).
  • #23 fenêtres système (B+F) — merge 47b1d64 (HEAD develop). Backend app-tauri : commands open_view_window({panel,projectId})→{label,url,alreadyOpen} et close_view_window(...)→{label,closed}, vraie WebviewWindow chargeant index.html?panel=&project=, registre anti-doublon (label view-{panel}-{projectIdSansTirets}), event unique view-window://lifecycle payload {kind:"opened"|"focused"|"closed",panel,projectId,label}, capability étendue à view-*. Frontend : port WindowGateway (adapter Tauri + mock), entrée panel-only app/ViewWindow.tsx routée dans main.tsx, ViewPanelBody partagé, ViewPlacement étendu à "detached", menu Window + bouton ⤢, garde no-direct-invoke.

Dette basse restée ouverte (hors périmètre, non bloquante)

  • Curseur ticket_list toujours offset non opaque/stable (cf. ui-rework-sprint-scoping-contracts) — non soldée par #21.
  • Persistance restore-au-redémarrage du docking #22 et du placement détaché #23 : follow-up backend différé (V1 = placement éphémère useState).

État Git

develop @ 47b1d64 ; branches feature/ticket21-22-23 supprimées (mergées). Rien de sortant, main intact. Release develop→main en attente de validation utilisateur.