[fractal/fractal-next] verification: Add debug log for cross-signing key state
- From: Julian Sparber <jsparber src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [fractal/fractal-next] verification: Add debug log for cross-signing key state
- Date: Thu, 17 Mar 2022 17:13:44 +0000 (UTC)
commit fb31c437346fae620576088d0694841e572091c5
Author: Julian Sparber <julian sparber net>
Date: Thu Mar 17 17:57:02 2022 +0100
verification: Add debug log for cross-signing key state
src/session/mod.rs | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
---
diff --git a/src/session/mod.rs b/src/session/mod.rs
index 67a5c8578..093adaa5e 100644
--- a/src/session/mod.rs
+++ b/src/session/mod.rs
@@ -486,17 +486,6 @@ impl Session {
self.imp().is_ready.set(true);
- let encryption = client.encryption();
- let has_cross_signing_keys = spawn_tokio!(async move {
- if let Some(cross_signing_status) = encryption.cross_signing_status().await {
- cross_signing_status.has_master
- && cross_signing_status.has_self_signing
- && cross_signing_status.has_user_signing
- } else {
- false
- }
- });
-
let encryption = client.encryption();
let need_new_identity = spawn_tokio!(async move {
// If there is an error just assume we don't need a new identity since
@@ -509,7 +498,7 @@ impl Session {
spawn!(clone!(@weak self as obj => async move {
let priv_ = obj.imp();
- if !has_cross_signing_keys.await.unwrap() {
+ if !obj.has_cross_signing_keys().await {
if need_new_identity.await.unwrap() {
let encryption = obj.client().encryption();
@@ -764,6 +753,9 @@ impl Session {
pub fn show_content(&self) {
let priv_ = self.imp();
// FIXME: we should actually check if we have now the keys
+ spawn!(clone!(@weak self as obj => async move {
+ obj.has_cross_signing_keys().await;
+ }));
priv_.stack.set_visible_child(&*priv_.content);
priv_.logout_on_dispose.set(false);
if let Some(window) = self.parent_window() {
@@ -784,6 +776,23 @@ impl Session {
priv_.stack.set_visible_child(&*priv_.media_viewer);
}
+
+ async fn has_cross_signing_keys(&self) -> bool {
+ let encryption = self.client().encryption();
+ spawn_tokio!(async move {
+ if let Some(cross_signing_status) = encryption.cross_signing_status().await {
+ debug!("Cross signing keys status: {:?}", cross_signing_status);
+ cross_signing_status.has_master
+ && cross_signing_status.has_self_signing
+ && cross_signing_status.has_user_signing
+ } else {
+ debug!("Session doesn't have needed cross signing keys");
+ false
+ }
+ })
+ .await
+ .unwrap()
+ }
}
impl Default for Session {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]