Ouvrir depuis le cache puis retelecharger tout faisait changer la liste sous
les yeux au gre du reseau, et montrait une panne en plein ecran pour un simple
lancement. Une requete conditionnelle suffit : si le depot a bouge, le temoin
de synchro s'allume et l'utilisateur tire quand il veut.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
404 a la lecture pendant une publication etait traite comme un echec : sur un
depot neuf, rien ne partait jamais. Sans sha, l'API des contenus cree le
fichier. Et le lien Wi-Fi de ce telephone perd des paquets (ping 71-236 ms
alors que le port 443 s'ouvre depuis le shell) : deux essais de 20 s valent
mieux qu'une attente unique de 40 s.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Un gardien defocalise tout ce qui prend le focus hors de l'ecran courant, en
comparant 'view' a l'identifiant de l'ecran. Le formulaire vit dans l'ecran
'detail' ; poser view='edit' le faisait donc blurer a chaque focusin - clavier
ouvert, pas de curseur, rien ne rentrait. Un drapeau 'editing' dit desormais
qu'on modifie, et 'view' continue de nommer l'ecran.
Mesure au protocole DevTools sur le telephone : le champ etait bien atteignable
et focalise, ce qui a elimine le DOM et le CSS.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Le telephone verifiait le mot de passe de synchro en telechargeant
l'instantane et s'arretait sur 404 : rien ne partait jamais vers un depot
neuf. Mesure : un 404 de GitHub a pris 16,3 s, au-dela du delai de 15 s du
client et sous le garde-fou de 25 s - d'ou les 'HTTP 0' intermittents.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Le formulaire se declare comme une vue ('state?view=edit') : la fleche de
l'en-tete et la touche retour du telephone le referment d'abord.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
L'icone se commet comme un champ : Delphi rouvrait l'entree et la vue de
lecture reprenait la place au milieu d'une modification. Le formulaire est
maintenant rouvert avec ce qui y etait deja tape.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
L'editeur d'une ligne n'a plus de bouton : sa machinerie part avec lui. Seule
la liste des dossiers en est gardee (folderSelect), pour que le champ Folder du
formulaire reste un choix et non une faute de frappe.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Un crayon ouvre un formulaire pre-rempli : tous les champs modifiables a la
fois, un seul Save, donc UN commit au lieu d'un par champ ('setfields',
plusieurs PatchEntryField dans le meme CommitChange).
L'icone quitte le menu de l'entree pour ce formulaire : From site (recherche),
Image... (galerie, reduite a 128 px, provenance custom) et Remove.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sept champs faisaient sept cartes, chacune contenant un champ avec son propre
fond et ses coins - rectangle dans rectangle. Une carte, des lignes dedans, le
champ reduit a son trait de saisie ; le bouton Save sort de sa carte.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Elle a le droit de se poser sur la barre des taches. Redemander HWND_TOPMOST
quand on l'est deja ne change rien : le shell restait devant au demarrage de
session et au menu Demarrer. Le passage NOTOPMOST -> TOPMOST force la remontee,
fait seulement quand le centre de la barrette appartient a une autre fenetre.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Posee sur la barre des taches (TOPMOST elle aussi), la barrette passait
derriere elle au demarrage de Windows et a l'ouverture du menu Demarrer.
Mesure avant/apres sur ce poste : y=1037 (barre = 1032..1080) -> y=992.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ZXing.Delphi declarait rgbIndex/luminanceIndex en Byte dans les conversions
octets bruts -> luminance : au-dela de 255 ils repassaient a 0, la boucle ne
finissait jamais. L'APK n'y passait pas (CreateFromBitmap). Mesure apres
correctif : 60 ms sur un ecran 1920x1080 avec TRY_HARDER, 86 ms sans QR.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Un jeton faux faisait repondre 401 a GitHub avant tout verdict : le refus
d'un depot public ne pouvait pas s'exprimer. Public = visible en anonyme.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Android ne laisse pas choisir l'app qui passe devant : moveTaskToBack
ramenait souvent l'ecran d'accueil. Le coffre se reverrouillait aussi
apres 30 s, avant qu'on revienne chercher le mot de passe.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- OpenContainer reutilisait la cle de l'ancien mot de passe : jamais tant
qu'un nouveau n'est pas verifie
- un essai rate vidait FKey (parametres out TBytes) : derivation dans des
locales, rangee seulement apres succes
- Save coffre ouvert : verification immediate (DoSync), le bon mot de passe
est range dans le coffre scelle ; coffre ferme, le champ est grise
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Le sha inchange faisait repondre 'rien n'a change' sans dechiffrer : un
mot de passe faux passait pour bon. Tant qu'il n'est pas verifie, le depot
est retelecharge en entier ; la synchro reprend ensuite si rien n'echoue.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>