Files
IdeA/.ideai/tickets/218/carnet.md

2.7 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#218 4
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1786816820854

Triage 2026-08-15

  • Symptôme rapporté: le tag de version local créé avant rebuild AppImage semble absent de la vue Git Graph.
  • Vérification Git factuelle: v0.12.0 et v0.13.0 existent bien localement, annotés, pointent sur des commits ancêtres de develop.
  • Cadrage UX: un tag local doit apparaître sur la ligne du commit dans la colonne tags, sans dépendre d'un remote.
  • Cadrage Architect: la vue sait déjà rendre les refs tag: ...; la cause probable est l'extraction backend Git / revwalk / peeler de tags annotés, plus qu'un bug de rendu frontend.
  • Couches à inspecter d'abord: crates/infrastructure/src/git/mod.rs, puis DTO/transport, puis frontend/src/features/git/GitGraphView.tsx si nécessaire.
  • Branche locale créée par Git: fix/218-gitgraph-local-tags-display depuis develop @ 3d466f9.

Diagnostic DevBackend

  • Bug backend confirmé dans crates/infrastructure/src/git/mod.rs.
  • Cause précise: log_graph utilisait reference.resolve().target(). Pour un tag annoté, cet OID est celui de l'objet tag, pas celui du commit ciblé; le tag ne pouvait donc pas matcher la ligne du commit dans le revwalk.
  • Correctif livré:
    • ajout de reference_commit_oid() qui peel chaque ref vers un commit (peel(ObjectType::Commit))
    • log_graph utilise maintenant l'OID peelé pour construire ref_map
  • Fichiers modifiés:
    • crates/infrastructure/src/git/mod.rs
    • crates/infrastructure/tests/git_repository.rs
  • Tests DevBackend:
    • cargo fmt --package infrastructure => OK
    • cargo test -p infrastructure --test git_repository git_graph_labels_annotated_tags_on_their_target_commit => OK
    • cargo test -p infrastructure --test git_repository => OK (4)
    • cargo test -p application --test git_usecases => OK (7)
    • cargo test -p app-tauri --test dto_git => OK (14)

Diagnostic DevFrontend

  • Rendu frontend confirmé OK tel quel.
  • GitGraphView affiche déjà les refs préfixées tag: dans la colonne tags et les exclut des branches.
  • Aucun correctif frontend nécessaire.
  • Test DevFrontend:
    • npm test -- gitGraphView.test.tsx => OK (10)

Verdict QA

  • Verdict: VERT.
  • Vérification explicite validée:
    • un tag annoté local est peelé vers le commit cible
    • log_graph renvoie bien tag: v0.13.0 dans GraphCommit.refs
    • la vue Git Graph sait déjà afficher cette ref dans la colonne tags
  • Tests QA:
    • cargo test -p infrastructure --test git_repository git_graph_labels_annotated_tags_on_their_target_commit -- --nocapture => OK
    • cargo test -p infrastructure --test git_repository -- --nocapture => OK
    • npm test -- gitGraphView.test.tsx => OK