diff --git a/CLAUDE.md b/CLAUDE.md index 6dc702d..b4168f0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -935,6 +935,27 @@ après chaque `DELETE /attachments/{id}`. Un petit vault sain ne paie rien. brand, expiry…) rendent un `` + menu custom `.so-combo` (flèche = toutes les options, input = frappe libre). PAS un `` natif (il filtre au texte tapé → n'affiche que ce qui matche, déroutant). +- **Champ Notes multiligne** (`field.multiline`) : bouton *Add note* du + panneau d'édition → champ `textarea` **secret par défaut**, masqué via + `-webkit-text-security` (un `textarea` n'a pas de `type=password`). + Hauteur dérivée du contenu (`autoSizeTextarea`, plafond 320 px) plutôt + que mémorisée — la rangée est reconstruite à chaque ouverture et + `localStorage` ne survit pas au changement de port. + **Pas de colonne `notes_enc` dédiée** : le corps d'une entrée *note* EST + `encrypted_password`, donc un vrai champ notes aurait exigé une nouvelle + colonne chiffrée + les 7 points de passage ci-dessus ; `custom_fields` + est déjà porté par rotation / duplicate / export-import / sync. + **Piège** : les champs personnalisés sont reconstruits **clé par clé** à + l'ouverture (normalisation) et au Save, et chacun jette ce qu'il ne + nomme pas → toute nouvelle clé (`multiline`, comme `options` avant elle) + doit être portée dans les **deux**, sinon elle disparaît silencieusement. +- **Rangée de champ personnalisé** : `libellé | valeur (œil dedans) | ⋮`. + L'œil n'existe que sur un champ secret (sa présence EST l'indicateur) ; + *Copy value*, *Store as secret* / *Make public* et *Remove field* sont + dans le menu `.entry-kebab-menu` réutilisé des cartes (la fermeture au + clic extérieur est déjà câblée). Basculer le flag secret se fait **en + place**, jamais via `rerender()` : reconstruire la liste fait flasher le + panneau et perd le focus + la hauteur auto du multiligne. - **Settings search** : `#settingsSearch` filtre les `.setting-row` par texte ; match sur le label de section garde toute la section. Esc dans la search avec query = clear ; Esc vide = ferme Settings.