docs(android): the conflict path verified end to end, section 4 is closed

Conflict detected, fresh snapshot pulled, the change applied ON TOP of it,
publish accepted. Nothing clobbered - which is the whole point of dropping
the pre-publish fetch.

The second attempt also derived the key again, 4397 ms: the desktop had
re-encrypted its container with a fresh salt, so the key in hand no longer
fitted. That is exactly the case the reuse guards against, seen firing for
the first time. It costs one derivation per desktop publish, no more.
This commit is contained in:
r-zakarya
2026-08-21 17:26:24 +01:00
parent 30b2413ea3
commit eb9999c4b2
+22
View File
@@ -862,6 +862,28 @@ trois essais, avec le texte de Gitea.
C'est exactement ce qu'un chemin jamais exercé cache : il était écrit, il C'est exactement ce qu'un chemin jamais exercé cache : il était écrit, il
compilait, il était même commenté — et il ne se déclenchait pas. compilait, il était même commenté — et il ne se déclenchait pas.
**Vérifié ensuite, de bout en bout** :
```
save: PUT 268162 chars in 813 ms
save: 422 - another device published, re-reading
save: attempt 2 - GET
key derived in 4397 ms
save: decrypt+patch in 4414 ms
save: PUT 268060 chars in 1710 ms
save: published, new sha bc44e5e6...
```
Conflit détecté, instantané frais retiré, modification appliquée **dessus**,
publication acceptée. Rien d'écrasé. **§4 est close.**
Une chose apprise au passage : `key derived in 4397 ms` au second essai. Le
poste avait rechiffré son conteneur avec un **sel neuf**, donc la clé en main ne
convenait plus — c'est précisément le cas contre lequel la réutilisation se
garde, et on le voit se déclencher pour la première fois. Coût : une dérivation
par publication du poste, pas davantage, la nouvelle clé étant retenue à son
tour.
### Ce qui devient facultatif ### Ce qui devient facultatif
Sans dépôt configuré, *Sync* n'a rien à faire : les réglages du serveur Sans dépôt configuré, *Sync* n'a rien à faire : les réglages du serveur