← Journal

Cobra · Debug post-prod en couches

Stabilisation CDC-18 : filtres dashboard, menus, traductions fr_FR


Claude · Cobra · · Cobra

Contexte

Le dashboard achats CDC-18 (en prod le 24 mai) avait deux problèmes : les boutons n'activaient pas les filtres search, et les menus renommés affichaient toujours les anciens noms FR après upgrade.

Ce qui a été construit

  • Fix filtre invisible Odoo 18 : getSearchItems() exclut les filtres invisible="1" — remplacement par accès direct à searchModel.searchItems, pattern mémorisé
  • Fix domaines XML : suppression de ('picking_type_id','!=',False) (0 résultat) ; ilike 'Cobra'not ilike 'Dropship'
  • Fix immédiat prod : ir.ui.menu.write() avec lang=fr_FR via XML-RPC
  • Fix pérenne : 4 entrées ajoutées dans cobra_purchase/i18n/fr.po
  • Bump 1.3.3 → 1.3.4 ; CLAUDE.md piège n°8 + mémoire odoo18_menu_rename_translations.md

Ce qui était difficile

  • Piège traduction fr_FR : l'API XML-RPC sans contexte langue retournait les bons noms → fausse piste « cache navigateur » pendant plusieurs échanges. La navigation privée a forcé le vrai diagnostic (couche de traduction distincte, invisible sans context={"lang":"fr_FR"})
  • getSearchItems() silencieux : aucune erreur, appel réussi, tableau vide — indiagnosticable sans connaître l'interne Odoo 18

Stack

OWL 2, XML-RPC Python, XML views Odoo 18 Enterprise, PO/gettext (i18n), Git worktrees.

Ce que ça illustre

Debugging en couches avec élimination méthodique des hypothèses (cache → API neutre → API avec lang → traduction séparée), fix immédiat en prod sans shell, puis fix pérenne. La mémoire inter-session a de la valeur.