docs(android): note what is left of the save time, and what it would cost

Deferred, with the numbers rather than an impression. The 2.7 seconds left
are entirely the upload, sent twice-encoded because Gitea's contents API
wants base64 inside JSON and the container already is base64. One 116 Ko
attachment is about 78% of what travels on every write.

Three ways out, cheapest first, including the one that needs no code.
This commit is contained in:
r-zakarya
2026-08-21 15:57:22 +01:00
parent 131bf44b36
commit 4785dc116a
+27 -1
View File
@@ -724,7 +724,33 @@ plancher de ce format — le conteneur est monolithique, il n'y a pas de
Le tirage préalable, lui, a disparu : il coûtait 3,2 s et ne servait qu'à
s'assurer de modifier la dernière version publiée, ce que le sha prouve
gratuitement. **Conséquence : le chemin 409 est devenu porteur.** C'est lui,
gratuitement. Avec la clé retenue, l'enregistrement est passé de 5–7 s à ~2,8 s.
#### À REPRENDRE : les 2,7 s qui restent
Elles sont entièrement l'envoi. Et il part **deux fois encodé** : l'API de
contenus de Gitea exige du base64 dans du JSON, alors que le conteneur est déjà
du base64 — 267 700 caractères deviennent ~357 Ko sur le réseau, à ~130 Ko/s.
Le poids vient d'une seule chose : **une pièce jointe de 116 Ko**, soit ~155 Ko
dans le JSON en clair sur ~200 Ko de contenu — **environ 78 % de ce qui voyage
à chaque écriture**, pour une image que le téléphone ne sait même pas ouvrir.
Les onze entrées pèsent le reste.
Trois voies, par coût croissant :
1. **Sortir la pièce jointe du coffre synchronisé** (depuis le poste). Aucune
ligne de code, l'enregistrement tombe sous la seconde — et ça vérifie le
diagnostic ci-dessus.
2. **Publier en arrière-plan** : l'entrée apparaît aussitôt, l'envoi continue
derrière. Ne rend rien plus rapide, supprime l'attente. Contrepartie réelle :
aujourd'hui « enregistré » veut dire « publié », et fermer l'application
pendant l'envoi perdrait l'entrée. À faire en écrivant le cache local AVANT
l'envoi, ce qui met le cache en avance sur le distant — la situation même
contre laquelle le sha protège, donc à traiter avec soin.
3. **Comprimer avant de chiffrer** : ~30 %, mais il faut changer le format des
deux côtés, poste compris. Disproportionné.
**Conséquence : le chemin 409 est devenu porteur.** C'est lui,
désormais, qui garantit qu'un enregistrement n'écrase pas un autre appareil,
et il n'a toujours jamais tourné. Le provoquer : synchroniser depuis le poste,
puis enregistrer depuis le téléphone sans synchroniser d'abord.