fix(android): les reglages affichaient un mot de passe qui n'etait pas celui du coffre

PushConfig pose FPwd a la valeur de premier lancement - en debogage une
constante, en release du vide - et rien ne la remplacait ensuite. Creer
ou ouvrir un coffre local mettait a jour FSyncPwd seul, si bien que les
reglages continuaient d'afficher l'autre.

Ce n'etait pas qu'un affichage : DoSync PREFERE FPwd a FSyncPwd, au nom
de "ce qui est tape l'emporte" - or rien n'avait ete tape. Les deux
chemins de synchronisation, le rafraichissement de fond et le bouton,
travaillaient donc avec deux mots de passe differents sur le meme coffre.

Le coffre qui vient de s'ouvrir dit desormais son mot de passe, et les
reglages le montrent.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-28 15:06:27 +01:00
parent a81fd88414
commit 8b4130f13e
+25
View File
@@ -1828,6 +1828,18 @@ begin
SetBusy(False);
FUser := AUser;
FSyncPwd := APwd;
// LE COFFRE QUI VIENT DE S'OUVRIR DIT LE MOT DE PASSE DE SYNC.
//
// Sans cette ligne, FPwd gardait la valeur de premier lancement -
// en debogage, une constante ; en release, du vide - et les
// reglages affichaient donc un mot de passe qui n'etait pas celui
// du coffre detenu. Pire, DoSync la PREFERE a celle du coffre au
// nom de "ce qui est tape l'emporte" : or rien n'avait ete tape.
// Les deux chemins de synchronisation travaillaient ainsi avec
// deux mots de passe differents sur le meme coffre.
FPwd := APwd;
WebCall(Format('PM.setConfig(%s, %s, %s, false)',
[JsArg(FUrl), JsArg(FToken), JsArg(FPwd)]));
Log('Vault created locally for ' + AUser);
AdoptVault(LPlain);
end);
@@ -1899,6 +1911,19 @@ begin
SetBusy(False);
if LOwner <> '' then FUser := LOwner else FUser := AUser;
FSyncPwd := APwd;
// LE COFFRE QUI VIENT DE S'OUVRIR DIT LE MOT DE PASSE DE SYNC.
//
// Sans cette ligne, FPwd gardait la valeur de premier lancement -
// en debogage, une constante ; en release, du vide - et les
// reglages affichaient donc un mot de passe qui n'etait pas celui
// du coffre detenu. Pire, DoSync la PREFERE a celle du coffre au
// nom de "ce qui est tape l'emporte" : or rien n'avait ete tape.
// Les deux chemins de synchronisation travaillaient ainsi avec
// deux mots de passe differents sur le meme coffre.
FPwd := APwd;
WebCall(Format('PM.setConfig(%s, %s, %s, false)',
[JsArg(FUrl), JsArg(FToken), JsArg(FPwd)]));
AdoptVault(LPlain);
end);
except