From 83415d202a5f11947bc9de24ee44512ae175b10d Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Tue, 19 Aug 2025 17:02:29 -0400 Subject: [PATCH] Handle more states in KeyVerificationDialog We were specifically missing WAITINGFORKEY and WAITINGFORACCEPT, which does happen and could be delayed - resulting in a blank screen for a few seconds. CCBUG: 508483 --- src/app/qml/KeyVerificationDialog.qml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/app/qml/KeyVerificationDialog.qml b/src/app/qml/KeyVerificationDialog.qml index 3103f7541..e108de7d1 100644 --- a/src/app/qml/KeyVerificationDialog.qml +++ b/src/app/qml/KeyVerificationDialog.qml @@ -50,6 +50,22 @@ Kirigami.Page { sourceComponent: message } }, + State { + name: "waitingForKey" + when: root.session.state === KeyVerificationSession.WAITINGFORKEY + PropertyChanges { + target: stateLoader + sourceComponent: message + } + }, + State { + name: "waitingForAccept" + when: root.session.state === KeyVerificationSession.WAITINGFORACCEPT + PropertyChanges { + target: stateLoader + sourceComponent: message + } + }, State { name: "waitingForMac" when: root.session.state === KeyVerificationSession.WAITINGFORMAC @@ -127,7 +143,9 @@ Kirigami.Page { case KeyVerificationSession.WAITINGFORREADY: case KeyVerificationSession.INCOMING: case KeyVerificationSession.WAITINGFORMAC: - return "security-medium-symbolic"; + case KeyVerificationSession.WAITINGFORKEY: + case KeyVerificationSession.WAITINGFORACCEPT: + return "security-medium-symbolic"; case KeyVerificationSession.DONE: return "security-high"; default: @@ -141,9 +159,13 @@ Kirigami.Page { case KeyVerificationSession.INCOMING: return i18n("Incoming key verification request from device **%1**", root.session.remoteDeviceId); 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) + return i18n("Successfully verified device **%1**", root.session.remoteDeviceId); default: return ""; }