From 40f76672434b10910dd776ff3f1603b18192a18c Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Sat, 22 Aug 2026 00:43:42 +0100 Subject: [PATCH] docs(android): two plan entries had gone false during the session The URL and token no longer live as constants - they are in the Keystore-encrypted settings file once the device has saved them, and the debug-only preload is a recorded decision rather than an oversight. And section 4's open list described a state that no longer exists: the 409 has run (it was a 422), every field is editable, and create, duplicate and delete exist. What remains there is one deliberate choice - no offline editing - and MergeSnapshots now exists, which lowers its price. --- android-client/PLAN.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/android-client/PLAN.md b/android-client/PLAN.md index 366c8a7..f404820 100644 --- a/android-client/PLAN.md +++ b/android-client/PLAN.md @@ -252,10 +252,13 @@ Par ordre de gravité, pas de taille. Ce qui reste hors de portée : le bouton *Envoyer à l'appareil* de cette vignette appartient à Android. Le drapeau masque le contenu, il ne retire pas l'action. -5. **Sortir l'URL et le jeton du code source.** Ce sont encore des constantes. - Le mot de passe de sync, lui, est déjà rangé dans le fichier chiffré par le - Keystore ; reste à en faire autant pour les deux autres, et à supprimer le - préremplissage depuis [PMA.LocalConfig.inc](PMA.LocalConfig.template.inc). +5. ~~**Sortir l'URL et le jeton du code source**~~ — **fait**. Les deux vivent + dans `settings.bin`, chiffré par le Keystore, dès que l'appareil les a une + fois enregistrés ; le mot de passe de sync y était déjà. Le préremplissage + depuis [PMA.LocalConfig.inc](PMA.LocalConfig.template.inc) subsiste **en + débogage seulement** — mesuré absent d'une release, en UTF-8 comme en + UTF-16 (voir §5). Il reste par décision, pas par oubli : hors dépôt, hors + release, et le jeton n'ouvre qu'un dépôt d'essai. 6. ~~**Verrouillage sur inactivité au premier plan**~~ — **fait**, 3 minutes, échantillonné toutes les 15 s. Reste à constater passivement sur appareil. @@ -450,16 +453,16 @@ save: published, new sha 802515d4... Les 23 ms mesurent l'économie de la clé réutilisée : la seconde dérivation valait les mêmes 4,5 secondes que la première. -**Ce qui reste ouvert**, par ordre d'importance : +**Ce qui restait ouvert a été fermé depuis** (voir §7) : le **409** a tourné — +c'était un 422 —, **tous les champs** se modifient, et créer, dupliquer et +supprimer existent avec leurs pierres tombales. -- le **409** n'a jamais tourné ; -- **pas d'édition hors ligne** : le téléphone patche l'instantané qu'il vient - de tirer, donc sans réseau *Save* échoue. C'est le prix de ne pas avoir de - fusion à écrire. Une file de modifications en attente la ramènerait, avec - l'arbitrage qui va avec ; -- **un seul champ** est modifiable. `PatchEntryField` prend déjà le nom du - champ, donc l'identifiant ou le site coûteraient une ligne ; créer ou - supprimer une entrée, en revanche, exige uuid et tombstones. +Il reste une seule chose, et c'est un choix, pas un manque : **pas d'édition +hors ligne**. Le téléphone modifie l'instantané qu'il tient et le publie ; sans +réseau, *Save* échoue. C'est le prix de ne pas avoir de fusion à écrire dans le +chemin d'écriture courant. Une file de modifications en attente la ramènerait, +avec l'arbitrage qui va avec — et `MergeSnapshots` existe désormais, ce qui en +réduit le coût. ### L'interface, remise d'aplomb — 2026-08-21