docs(tests): mark F2 validated, note that the file existing proves nothing
A backup encrypted with an empty password looks perfectly valid on disk; only a successful import proves the stored password reached the encryption.
This commit is contained in:
+3
-1
@@ -220,9 +220,11 @@ plus bas.
|
|||||||
**ATTENDU** : les deux drapeaux du fichier sont **réappliqués**.
|
**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.
|
- **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`.
|
- **ACTION** : *Backup now* → supprimer l'entrée → importer le fichier `vault-autobackup-*.json`.
|
||||||
- **ATTENDU** : identique à F1.
|
- **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
|
### F3 · CSV étranger → drapeaux à 0
|
||||||
- **ACTION** : importer un CSV sans colonnes favorite/pinned.
|
- **ACTION** : importer un CSV sans colonnes favorite/pinned.
|
||||||
|
|||||||
Reference in New Issue
Block a user