feat(android): show first, sync after
The local vault now opens by itself at launch and the GET runs behind it, silently. A 304 shows nothing; a network failure shows nothing either - offline is a normal state, and an alert on every launch only teaches people to dismiss alerts. Only a new snapshot manifests, by refreshing the list. That silence is what puts the sync password inside the Keystore-encrypted file next to the vault: without it a new snapshot cannot be opened, so every edit made on the desktop would raise a password prompt at launch. The file already holds every password in plaintext; this one adds almost nothing to its exposure. A typed password still wins over the stored one, which is how you fix one that no longer works. Adopting a snapshot while the app is already open rebuilds the list in place instead of navigating - mandatory even from the detail screen, since list rows carry indices into the old vault and a tap would open the wrong entry. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -61,6 +61,21 @@ Trois écrans dans une seule forme, construits en code (`mainApk.pas`) :
|
||||
déverrouillage, liste, détail. Une forme par écran aurait coûté trois `.fmx`
|
||||
pour des dispositions triviales.
|
||||
|
||||
**Afficher d'abord, synchroniser ensuite.** Au lancement, le coffre local
|
||||
s'ouvre tout seul (biométrie si la clé l'exige) et la liste apparaît sans
|
||||
réseau ni dérivation ; le `GET` part derrière, en silence. Un 304 ne se voit
|
||||
pas, un échec réseau non plus — hors ligne est un état normal, et une alerte à
|
||||
chaque lancement apprendrait surtout à ignorer les alertes. Seul un instantané
|
||||
**nouveau** se manifeste, en rafraîchissant la liste.
|
||||
|
||||
C'est ce qui justifie de ranger le **mot de passe de sync** dans le fichier
|
||||
chiffré, à côté du coffre : sans lui, un instantané nouveau ne peut pas être
|
||||
ouvert, et chaque modification faite sur le poste ferait apparaître une invite
|
||||
au lancement. Le fichier contient déjà tous les mots de passe en clair ;
|
||||
celui-ci n'y ajoute presque rien en exposition. Ce qui est tapé dans le champ
|
||||
l'emporte sur ce qui est rangé — c'est ainsi qu'on corrige un mot de passe qui
|
||||
ne convient plus.
|
||||
|
||||
L'écran de déverrouillage s'adapte à ce que l'appareil détient : coffre local
|
||||
présent → *Ouvrir* (biométrie si la clé l'exige) ; absent → seul le
|
||||
téléchargement peut en produire un. La liste filtre à la frappe sur le nom, le
|
||||
|
||||
Reference in New Issue
Block a user