diff --git a/android-client/PLAN.md b/android-client/PLAN.md index f404820..e67aa2a 100644 --- a/android-client/PLAN.md +++ b/android-client/PLAN.md @@ -304,6 +304,18 @@ Rangé par ce que ça apporte réellement sur un téléphone. que l'utilisateur demande en appuyant, et le message de confirmation nomme l'endroit plutôt que de dire « enregistré ». + **Asymétrie à connaître : le téléphone ne peut pas SUPPRIMER une pièce + jointe**, et l'ajouter au patch ne suffirait pas. Le poste ne restaure les + pièces jointes que pour une entrée **nouvelle** ([applyRemoteSnapshot](../js/app.sync.js)) ; + pour une entrée qu'il connaît déjà, la fusion n'y touche pas. Publier un + instantané amputé laisserait donc la ligne intacte dans sa base, et son + `buildSyncSnapshot` suivant la remettrait — la suppression reviendrait + d'elle-même au tirage d'après. + + Retirer une pièce jointe du coffre synchronisé se fait donc **sur le poste**. + Le téléphone, lui, sait maintenant l'enregistrer avant, ce qui rend + l'opération sans perte. + Une seule pièce jointe a fait passer le cache de **13 à 174 Ko** : le contenu voyage en base64 dans l'instantané, et il est déchiffré en mémoire avec le reste. `TVault` lit donc nom, type et taille, et **jette