Cobra · Debug post-prod en couches
Stabilisation CDC-18 : filtres dashboard, menus, traductions fr_FR
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 filtresinvisible="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()aveclang=fr_FRvia 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.