diff --git a/TEST_SCENARIOS.md b/TEST_SCENARIOS.md index b5f8a46..c7721fc 100644 --- a/TEST_SCENARIOS.md +++ b/TEST_SCENARIOS.md @@ -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.