fix(apk): depot vide + changements en attente = premiere publication, et delais reseau plus longs
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>
This commit is contained in:
+28
-1
@@ -507,7 +507,10 @@ begin
|
||||
// le filet.
|
||||
FDeadline := TTimer.Create(Self);
|
||||
FDeadline.Enabled := False;
|
||||
FDeadline.Interval := 25000;
|
||||
// Plus long que le delai du client HTTP (40 s) : ce garde-fou est la pour
|
||||
// le cas ou la requete ne rend jamais la main, pas pour couper une reponse
|
||||
// lente que le client attend encore - c'est ce qu'il faisait a 25 s.
|
||||
FDeadline.Interval := 50000;
|
||||
FDeadline.OnTimer := OnDeadline;
|
||||
|
||||
FTotpTimer := TTimer.Create(Self);
|
||||
@@ -2987,6 +2990,30 @@ begin
|
||||
begin
|
||||
// Le serveur repond pareil dans les deux cas, par conception.
|
||||
Log(' 404: no snapshot OR invalid token');
|
||||
// DEPOT VIDE ET DES CHANGEMENTS QUI ATTENDENT ICI : on publie.
|
||||
//
|
||||
// Le telephone verifiait d'abord le mot de passe de synchro en
|
||||
// telechargeant l'instantane - et s'arretait la quand il n'y en
|
||||
// avait pas encore, en repetant 404 a chaque essai. Rien ne
|
||||
// partait jamais, alors que c'est exactement le premier envoi :
|
||||
// le poste fait de meme sur un depot neuf.
|
||||
//
|
||||
// Le mot de passe tape devient celui du depot, faute d'un
|
||||
// instantane contre lequel l'eprouver - c'est ce que veut dire
|
||||
// "premiere publication".
|
||||
if (FPlain <> '') and FPending then
|
||||
begin
|
||||
TThread.Queue(nil,
|
||||
procedure
|
||||
begin
|
||||
FSyncPwd := APwd;
|
||||
FPwdUserSet := False;
|
||||
FPwdShown := APwd;
|
||||
Log(' empty repository - publishing what waits here');
|
||||
PublishPending;
|
||||
end);
|
||||
Exit;
|
||||
end;
|
||||
if not ASilent then
|
||||
begin
|
||||
// TRANCHER L'AMBIGUITE : fichier absent, depot ou utilisateur
|
||||
|
||||
Reference in New Issue
Block a user