[fractal/fractal-next] verification: Ensure correct state for user actions
- From: Julian Sparber <jsparber src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [fractal/fractal-next] verification: Ensure correct state for user actions
- Date: Thu, 13 Jan 2022 14:34:43 +0000 (UTC)
commit 1062bc06db873d520081a67645332733f61ed13f
Author: Julian Sparber <julian sparber net>
Date: Wed Jan 12 19:49:29 2022 +0100
verification: Ensure correct state for user actions
src/session/verification/identity_verification.rs | 40 ++++++++++++++---------
1 file changed, 24 insertions(+), 16 deletions(-)
---
diff --git a/src/session/verification/identity_verification.rs
b/src/session/verification/identity_verification.rs
index aa42e940..e7bb9b49 100644
--- a/src/session/verification/identity_verification.rs
+++ b/src/session/verification/identity_verification.rs
@@ -513,11 +513,13 @@ impl IdentityVerification {
pub fn emoji_match(&self) {
let priv_ = imp::IdentityVerification::from_instance(self);
- if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
- let result = sync_sender.try_send(Message::UserAction(UserAction::Match));
+ if self.state() == State::SasV1 {
+ if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
+ let result = sync_sender.try_send(Message::UserAction(UserAction::Match));
- if let Err(error) = result {
- error!("Failed to send message to tokio runtime: {}", error);
+ if let Err(error) = result {
+ error!("Failed to send message to tokio runtime: {}", error);
+ }
}
}
}
@@ -525,11 +527,13 @@ impl IdentityVerification {
pub fn emoji_not_match(&self) {
let priv_ = imp::IdentityVerification::from_instance(self);
- if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
- let result = sync_sender.try_send(Message::UserAction(UserAction::NotMatch));
+ if self.state() == State::SasV1 {
+ if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
+ let result = sync_sender.try_send(Message::UserAction(UserAction::NotMatch));
- if let Err(error) = result {
- error!("Failed to send message to tokio runtime: {}", error);
+ if let Err(error) = result {
+ error!("Failed to send message to tokio runtime: {}", error);
+ }
}
}
}
@@ -673,11 +677,13 @@ impl IdentityVerification {
pub fn start_sas(&self) {
let priv_ = imp::IdentityVerification::from_instance(self);
- if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
- let result = sync_sender.try_send(Message::UserAction(UserAction::StartSas));
+ if self.state() != State::SasV1 {
+ if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
+ let result = sync_sender.try_send(Message::UserAction(UserAction::StartSas));
- if let Err(error) = result {
- error!("Failed to send message to tokio runtime: {}", error);
+ if let Err(error) = result {
+ error!("Failed to send message to tokio runtime: {}", error);
+ }
}
}
}
@@ -697,10 +703,12 @@ impl IdentityVerification {
/// Accept an incomming request
pub fn accept(&self) {
let priv_ = imp::IdentityVerification::from_instance(self);
- if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
- let result = sync_sender.try_send(Message::UserAction(UserAction::Accept));
- if let Err(error) = result {
- error!("Failed to send message to tokio runtime: {}", error);
+ if self.state() == State::Requested {
+ if let Some(sync_sender) = &*priv_.sync_sender.borrow() {
+ let result = sync_sender.try_send(Message::UserAction(UserAction::Accept));
+ if let Err(error) = result {
+ error!("Failed to send message to tokio runtime: {}", error);
+ }
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]