docs(tests): note that the trash is silently excluded from every backup path

This commit is contained in:
r-zakarya
2026-08-03 00:41:15 +01:00
parent 5236aa8b98
commit af1157f3b0
+17
View File
@@ -663,3 +663,20 @@ sinon chaque F9 démarre caché.
leurs propres endpoints). Un sync qui remplace une pièce jointe pendant
l'édition n'est pas signalé. Faible risque : l'éditeur ne re-ship jamais
les pièces jointes existantes, donc il n'y a rien à écraser.
2. **La corbeille n'est jamais exportée, et rien ne le dit.** `doExport`
parcourt `state.entries` ; la corbeille vit dans `state.trashed`, une liste
séparée — donc absente de l'export manuel, de l'auto-backup **et** du
snapshot de sync. Le choix se défend (la corbeille est une antichambre de
suppression), mais il est **silencieux** : exporter → vider le coffre →
réimporter fait disparaître définitivement les entrées en corbeille, alors
que l'utilisateur croyait faire une sauvegarde complète.
- **Correctif minimal** : une ligne dans le dialogue d'export — « la
corbeille n'est pas incluse ». Une phrase, aucun risque.
- **Correctif complet** : exporter les entrées supprimées avec leur
`deleted_at` et les réimporter en corbeille. Nouveau champ à porter de
bout en bout (parseur, `encryptImportEntry`, INSERT create **et**
bulk-import), plus le comportement à choisir quand l'entrée existe déjà
côté vivant. C'est la classe de modification aux 7 points de passage
décrite dans CLAUDE.md.
- Constaté le 2026-08-03 en testant export → *Clear vault* → import.