fix(android): the keyboard no longer buries the bottom of a form
The frame is nailed to the whole screen, so when the keyboard rises the content overflows nothing and the bottom third becomes unreachable: the form's password field could only be seen by folding the keyboard away. Reserving below the scroll area exactly the height the keyboard covers gives the panel something to scroll. The measure answers correctly whether or not the engine actually resizes the window - if it does, innerHeight shrinks too, the reserve is zero, and the natural overflow already does the work. No need to know which case applies. A first attempt shrank the body to the visible height; it changed nothing observable, and it depended on which of three over-constrained box properties the engine drops. This does not. The plan records where a save's time actually goes: 46 ms of crypto, 2745 ms of PUT for 267 Ko. That is the floor for a monolithic container.
This commit is contained in:
@@ -708,6 +708,27 @@ save: published, new sha e14eabcf...
|
||||
48 ms là où le journal disait 4395. Ce qui reste dans l'attente est le GET et
|
||||
le PUT vers le dépôt — plus rien de calculatoire.
|
||||
|
||||
### Ce que coûte réellement un enregistrement — mesuré 2026-08-21
|
||||
|
||||
```
|
||||
save: publishing against the snapshot in hand
|
||||
save: decrypt+patch in 23 ms
|
||||
save: re-encrypt in 23 ms
|
||||
save: PUT 267700 chars in 2745 ms
|
||||
```
|
||||
|
||||
Le calcul pèse 46 ms. **Tout le reste est le conteneur qui monte** : 267 Ko à
|
||||
chaque écriture, dont l'essentiel est une pièce jointe de 116 Ko. C'est le
|
||||
plancher de ce format — le conteneur est monolithique, il n'y a pas de
|
||||
« publier seulement l'entrée modifiée ».
|
||||
|
||||
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,
|
||||
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.
|
||||
|
||||
### Ce qui devient facultatif
|
||||
|
||||
Sans dépôt configuré, *Sync* n'a rien à faire : les réglages du serveur
|
||||
|
||||
Reference in New Issue
Block a user