diff --git a/TEST_SCENARIOS.md b/TEST_SCENARIOS.md index 4ea2180..01e79f8 100644 --- a/TEST_SCENARIOS.md +++ b/TEST_SCENARIOS.md @@ -220,9 +220,11 @@ plus bas. **ATTENDU** : les deux drapeaux du fichier sont **réappliqués**. - **Historique** : `pinned` n'était dans aucun container ; `favorite` y était écrit mais **jamais relu** (ni parser, ni body, ni INSERT) → les deux perdus au restore. Puis F1a a marché sans F1b : le mode écrasement passe par `PUT`, qui ignore volontairement `favorite`/`pinned` pour qu'un **sync** ne puisse jamais écraser les drapeaux locaux (device-local par design). L'import les applique donc via les endpoints de bascule dédiés, uniquement quand ils diffèrent. -### F2 · même chose depuis une auto-backup +### F2 · même chose depuis une auto-backup ✅ - **ACTION** : *Backup now* → supprimer l'entrée → importer le fichier `vault-autobackup-*.json`. - **ATTENDU** : identique à F1. +- **La présence du fichier ne prouve RIEN** : si le mot de passe de backup remontait vide de la pref, le conteneur serait produit quand même — chiffré avec une chaîne vide, donc parfaitement valide et impossible à ouvrir avec le vrai mot de passe. Le seul critère est que l'**import le déchiffre** : la modale doit lister le bon nombre d'entrées avec leurs sites et identifiants réels. +- **Pourquoi ce test compte depuis 2026-08-02** : c'est le seul chemin qui lit `autoBackupPwd` depuis la pref DPAPI. Il casserait si `loadAutoBackupConfig(true)` n'était pas passé là où le chiffrement a lieu (cf. E9). ### F3 · CSV étranger → drapeaux à 0 - **ACTION** : importer un CSV sans colonnes favorite/pinned.