From c8eb62989cb9cf797619cb329f2b11e34245f708 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Fri, 11 Oct 2024 20:36:10 +0200 Subject: [PATCH] Adapt to libquotient changes for matrix-rust-sdk-crypto --- src/app/qml/KeyVerificationDialog.qml | 50 +++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/src/app/qml/KeyVerificationDialog.qml b/src/app/qml/KeyVerificationDialog.qml index 6aa20ef4d..2704954ad 100644 --- a/src/app/qml/KeyVerificationDialog.qml +++ b/src/app/qml/KeyVerificationDialog.qml @@ -29,7 +29,7 @@ Kirigami.Page { }, State { name: "waitingForVerification" - when: root.session.state === KeyVerificationSession.WAITINGFORVERIFICATION + when: root.session.state === KeyVerificationSession.TRANSITIONED && root.session.sasState === KeyVerificationSession.KEYSEXCHANGED PropertyChanges { stateLoader.sourceComponent: emojiSas } @@ -78,7 +78,15 @@ Kirigami.Page { }, State { name: "done" - when: root.session.state === KeyVerificationSession.DONE + when: root.session.sasState === KeyVerificationSession.SASDONE + PropertyChanges { + target: stateLoader + sourceComponent: message + } + }, + State { + name: "confirmed" + when: root.session.state === KeyVerificationSession.TRANSITIONED && root.session.sasState === KeyVerificationSession.CONFIRMED PropertyChanges { stateLoader.sourceComponent: message } @@ -141,6 +149,14 @@ Kirigami.Page { return "security-medium-symbolic"; case KeyVerificationSession.DONE: return "security-high"; + case KeyVerificationSession.TRANSITIONED: { + if (root.session.sasState === KeyVerificationSession.CONFIRMED) { + return "security-high"; + } + if (root.session.sasState === KeyVerificationSession.SASDONE) { + return "security-high"; + } + } default: return ""; } @@ -149,16 +165,38 @@ Kirigami.Page { switch (root.session.state) { case KeyVerificationSession.WAITINGFORREADY: return i18n("Waiting for device to accept verification."); - case KeyVerificationSession.INCOMING: - return i18n("Incoming key verification request from device **%1**", root.session.remoteDeviceId); + case KeyVerificationSession.INCOMING: { + if (root.session.remoteDeviceId.length > 0) { + return i18n("Incoming key verification request from device **%1**", root.session.remoteDeviceId); + } else { + return i18n("Incoming key verification request from **%1**", root.session.remoteUserId); + } + } case KeyVerificationSession.WAITINGFORMAC: return i18n("Waiting for other party to send us keys."); case KeyVerificationSession.WAITINGFORKEY: return i18n("Waiting for other party to confirm our keys."); case KeyVerificationSession.WAITINGFORACCEPT: return i18n("Waiting for other party to verify."); - case KeyVerificationSession.DONE: - return i18n("Successfully verified device **%1**", root.session.remoteDeviceId); + case KeyVerificationSession.DONE: { + if (root.session.remoteDeviceId.length > 0) { + return i18n("Successfully verified device **%1**", root.session.remoteDeviceId) + } else { + return i18nc("@info", "Successfully verified **%1**", root.session.remoteUserId) + } + } + case KeyVerificationSession.TRANSITIONED: { + if (root.session.sasState === KeyVerificationSession.CONFIRMED) { + return i18nc("@info", "Waiting for remote party to confirm verification"); + } + if (root.session.sasState === KeyVerificationSession.SASDONE) { + if (root.session.remoteDeviceId.length > 0) { + return i18n("Successfully verified device **%1**", root.session.remoteDeviceId) + } else { + return i18nc("@info", "Successfully verified **%1**", root.session.remoteUserId) + } + } + } default: return ""; }