From 5ef4987272dde1a3fc53b26dd92a6b3f29ebeaaa Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Sat, 15 Aug 2026 19:34:05 +0100 Subject: [PATCH] fix(android): a lock with no key locked the user out entirely Removing the screen lock left no way forward: the cache is marked protected so it refuses to open, and the download that would have replaced it was blocked by the very gate I added to Sync yesterday. Neither door. The gate now applies only when the device can actually authenticate. Demanding an authentication the phone can no longer produce protects nobody - the content comes from the server, and it is the sync password that guards it. Co-Authored-By: Claude Opus 5 --- mainApk.pas | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mainApk.pas b/mainApk.pas index 65a31eb..5380bdd 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -1041,7 +1041,14 @@ begin // et l'affiche, ce qui revient exactement au meme resultat sans passer par // l'authentification. La condition est la presence d'un cache protege sur // cet appareil - c'est lui qui exprime le choix de l'utilisateur. - if VaultNeedsAuth and (FVault.Count = 0) then + // + // MAIS SEULEMENT S'IL Y A UNE PORTE. Exiger une authentification que + // l'appareil ne sait plus rendre enfermait l'utilisateur dehors : le cache + // marque protege refusait de s'ouvrir, et le telechargement qui l'aurait + // remplace etait bloque par la meme condition. Quand plus rien ne peut + // authentifier, ce verrou ne protege personne - le contenu viendra du + // serveur, et c'est le mot de passe de sync qui le garde. + if VaultNeedsAuth and (FVault.Count = 0) and BiometricAvailable then begin Status('Authenticating...'); AuthenticateThen('Unlock the vault',