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 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 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. 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.