feat(android): saisir le secret 2FA des la creation d'une entree

Le formulaire New entry n'avait pas le champ et AddEntry ecrivait
totp_secret = '' en dur : il fallait enregistrer l'entree puis la rouvrir
pour poser un second facteur, alors que l'editeur portait deja le champ.

Meme intitule que l'editeur ("2FA secret"), masque pour une note comme
site et identifiant, et achemine par &o= — t, s, u, p, k, d etaient
pris.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-06 19:18:39 +01:00
parent 370d35f69a
commit 23568049da
3 changed files with 16 additions and 7 deletions
+6 -4
View File
@@ -306,7 +306,7 @@ type
/// Ajoute une entree au coffre. Le mot de passe voyage par le pont,
/// comme 'setfield' - meme regle, meme journalisation muette.
procedure CreateEntry(const ATitle, ASite, AUser, APwd, AKind,
AFolder: string);
AFolder, ATotp: string);
function UuidsFromIndexes(const AList: string): TArray<string>;
/// Supprime des entrees, pierres tombales comprises. Sans retour.
/// Liste vide = l'entree ouverte.
@@ -1572,7 +1572,7 @@ begin
end;
procedure TForm8.CreateEntry(const ATitle, ASite, AUser, APwd, AKind,
AFolder: string);
AFolder, ATotp: string);
begin
// Une entree sans rien pour la reconnaitre serait une ligne muette dans la
// liste, et rien ne permettrait de la retrouver pour la corriger.
@@ -1584,7 +1584,8 @@ begin
CommitChange('Added: ' + ATitle, 'new entry from phone', '',
function (APlain: string): string
begin
Result := AddEntry(APlain, ATitle, ASite, AUser, APwd, AKind, AFolder);
Result := AddEntry(APlain, ATitle, ASite, AUser, APwd, AKind, AFolder,
ATotp);
end);
end;
@@ -1750,7 +1751,8 @@ begin
TNetEncoding.URL.Decode(Param('u')),
TNetEncoding.URL.Decode(Param('p')),
TNetEncoding.URL.Decode(Param('k')),
TNetEncoding.URL.Decode(Param('d')))
TNetEncoding.URL.Decode(Param('d')),
TNetEncoding.URL.Decode(Param('o')))
else if LAction = 'history' then
ShowPasswordHistory