From 1d2ea55bec711af6c92a3603ca9b115cfce6cc2b Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Thu, 17 Sep 2026 21:14:16 +0100 Subject: [PATCH] feat(apk): creer un coffre local seulement en debogage (AllowCreateLocal) En release le telephone ne sait que reprendre le coffre du depot : l'ecran d'accueil n'offre plus que Download vault, et RegisterLocal refuse aussi. Depot vide (404) ou conteneur illisible : rien n'est cree. Co-Authored-By: Claude Opus 5 --- android-client/web/app.html | 3 ++- mainApk.pas | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/android-client/web/app.html b/android-client/web/app.html index 4ae762f..22b82cf 100644 --- a/android-client/web/app.html +++ b/android-client/web/app.html @@ -739,7 +739,8 @@ var vaultOpen = false; // en dernier - c'est l'ordre des frequences, pas celui du code. La creation // etait en tete parce que son bloc etait ecrit en premier dans la page. function syncAuthbox() { - document.getElementById('authbox').hidden = (authMode === 'open'); + document.getElementById('authbox').hidden = + (authMode === 'open') || (authMode === 'download'); // L'ACCENT SUIT LE GESTE ATTENDU. Creer un coffre neuf le portait alors qu'un // depot est configure - c'est-a-dire exactement le mauvais geste. Il revient // a celui qui vient chercher le coffre, et ne reste sur la creation que diff --git a/mainApk.pas b/mainApk.pas index 0b19178..5a28ce7 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -27,6 +27,17 @@ unit mainApk; demanderait le PUT cote serveur et une fusion cote client. } +// CREER UN COFFRE SUR LE TELEPHONE : ESSAIS SEULEMENT. +// +// Un coffre ne ici n'existe nulle part ailleurs : le poste ne le connait pas, +// et personne ne peut le rendre a qui perd son mot de passe. En release le +// telephone ne sait donc que REPRENDRE le coffre du depot ; depot vide ou +// fichier illisible, il ne se passe rien - surtout pas un coffre neuf qui +// masquerait un reglage a corriger. +{$IFDEF DEBUG} + {$DEFINE AllowCreateLocal} +{$ENDIF} + interface uses @@ -563,7 +574,13 @@ begin else if HasLocalContainer then WebCall('PM.setAuthMode("login")') else + {$IFDEF AllowCreateLocal} WebCall('PM.setAuthMode("register")'); + {$ELSE} + // 'download' : meme ecran, sans les champs de creation - il ne reste que + // les reglages du depot et le bouton qui va chercher le coffre. + WebCall('PM.setAuthMode("download")'); + {$ENDIF} PushUnlockMode; LCanOpen := HasVault and not FVaultUnreadable; @@ -1984,6 +2001,12 @@ end; procedure TForm8.RegisterLocal(const AUser, APwd: string); begin if FBusy then Exit; + {$IFNDEF AllowCreateLocal} + // La page ne propose plus la creation, mais la commande existe toujours : + // elle se refuse ici aussi, pour que l'interdit ne tienne pas qu'a l'ecran. + StatusErr('Download the vault from the repository'); + Exit; + {$ENDIF} if AUser = '' then begin StatusErr('Pick a username');