feat(sync): le QR porte un lien pmserver://sync ouvert directement par l'app
Le scanner du telephone envoyait le texte a une recherche web (Google, Chrome) : le jeton serait parti a un appui pres. Le lien a schema propre n'a qu'une application pour l'ouvrir. Rien n'est enregistre avant Save. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1336,8 +1336,10 @@ begin
|
||||
// ne transite pas en clair par le moteur de rendu (meme raison que
|
||||
// prefs/has). Le mot de passe de synchro n'y est JAMAIS : un QR se
|
||||
// photographie par-dessus l'epaule.
|
||||
// JSON nu, sans prefixe "pmsync:" : un prefixe a deux-points se lit comme un
|
||||
// lien, et l'appareil photo proposait "Ouvrir avec" au lieu de copier.
|
||||
// UN LIEN pmserver://sync?u=&t= ET NON DU TEXTE. Le scanner du telephone
|
||||
// envoie tout texte a une recherche web (Google, Chrome) - le jeton serait
|
||||
// parti chez Google a un appui pres. Un lien a schema propre n'a qu'une
|
||||
// application pour l'ouvrir : la notre.
|
||||
else if ACmd = 'sync/qr' then
|
||||
begin
|
||||
var LQrUrl := PM.UserPrefs.GetPref('syncUrl');
|
||||
@@ -1346,16 +1348,13 @@ begin
|
||||
var LSize := 0;
|
||||
if (LQrUrl <> '') and (LQrTok <> '') then
|
||||
begin
|
||||
var LJson := TJSONObject.Create;
|
||||
var LQr := TDelphiZXingQRCode.Create;
|
||||
var LSb := TStringBuilder.Create;
|
||||
try
|
||||
LJson.AddPair('pmsync', TJSONNumber.Create(1));
|
||||
LJson.AddPair('u', LQrUrl);
|
||||
LJson.AddPair('t', LQrTok);
|
||||
LQr.Encoding := qrUTF8NoBOM;
|
||||
LQr.QuietZone := 4;
|
||||
LQr.Data := LJson.ToJSON;
|
||||
LQr.Data := 'pmserver://sync?u=' + TNetEncoding.URL.Encode(LQrUrl) +
|
||||
'&t=' + TNetEncoding.URL.Encode(LQrTok);
|
||||
LSize := LQr.Rows;
|
||||
for var R := 0 to LQr.Rows - 1 do
|
||||
for var C := 0 to LQr.Columns - 1 do
|
||||
@@ -1364,7 +1363,6 @@ begin
|
||||
finally
|
||||
LSb.Free;
|
||||
LQr.Free;
|
||||
LJson.Free;
|
||||
end;
|
||||
end;
|
||||
if LSize > 0 then
|
||||
|
||||
Reference in New Issue
Block a user