fix(android): retirer le code de deverrouillage demande de le connaitre

Le coffre ouvert ne prouvait rien : il peut l'etre depuis une heure et
rester a l'ecran. Quiconque trouvait le telephone dans cet etat levait la
protection en deux appuis, sans que rien ne le lui demande.

Le code courant voyage maintenant avec la demande, et Delphi le compare a
FPinSealed - ce sous quoi le cache est REELLEMENT scelle, pose seulement
par une ouverture reussie, jamais par un champ.

Fermee au passage : SetUnlockCode('') retirait le code en silence, ce qui
contournait le controle qu'on vient de poser.

Le FBusy de ClearUnlockCode ne sort plus sans un mot - une sortie muette
se lit comme une reussite.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-28 16:30:30 +01:00
parent 203f45eb7c
commit a41c61405c
2 changed files with 36 additions and 8 deletions
+11 -3
View File
@@ -564,8 +564,12 @@
<div class="in-x" data-clear="sPinNew">&#215;</div>
</div>
<button class="btn wide" id="sPinSet">Set this code</button>
<!-- Le champ ci-dessus sert aux deux : le NOUVEAU code pour "Set", le code
COURANT pour "Remove". Retirer une protection demande de la connaitre,
sinon quiconque trouve le telephone ouvert la leve en deux appuis. -->
<button class="btn wide danger" id="sPinClear">Remove the unlock code</button>
<div class="note">The code seals the copy kept on this device. It can be
<div class="note">To remove the code, type the current one above first.
The code seals the copy kept on this device. It can be
digits or a full password - a longer one is harder to guess, and it is
asked for only when the vault opens. Removing it leaves the vault
readable by anyone holding the phone unlocked.</div>
@@ -1551,8 +1555,12 @@ document.getElementById('sPinClear').addEventListener('click', function (ev) {
}
b.removeAttribute('data-armed');
b.textContent = 'Remove the unlock code';
send('pinclear');
closeSettings();
// LE CODE COURANT VOYAGE AVEC LA DEMANDE. Le coffre ouvert ne prouve rien :
// il peut l'etre depuis une heure et rester a l'ecran. Delphi compare a ce
// sous quoi le cache est reellement scelle, et refuse sinon.
send('pinclear?c=' + encodeURIComponent(
document.getElementById('sPinNew').value));
document.getElementById('sPinNew').value = '';
});
function goList() {