From e87ff54eee87a77653af032940bb6e2f9e3ed359 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Thu, 12 Dec 2019 14:27:57 +0000 Subject: [PATCH] Clean up cross-signing debug panel --- .../views/settings/CrossSigningPanel.js | 69 ++++++++++++++----- src/i18n/strings/en_EN.json | 5 +- 2 files changed, 54 insertions(+), 20 deletions(-) diff --git a/src/components/views/settings/CrossSigningPanel.js b/src/components/views/settings/CrossSigningPanel.js index f3a7a62e8f..06c4783c4a 100644 --- a/src/components/views/settings/CrossSigningPanel.js +++ b/src/components/views/settings/CrossSigningPanel.js @@ -102,28 +102,59 @@ export default class CrossSigningPanel extends React.PureComponent { errorSection =
{error.toString()}
; } + const enabled = ( + crossSigningPublicKeysOnDevice && + crossSigningPrivateKeysInStorage && + secretStorageKeyInAccount + ); + + let summarisedStatus; + if (enabled) { + summarisedStatus =

✅ {_t( + "Cross-signing and secret storage are enabled.", + )}

; + } else if (crossSigningPrivateKeysInStorage) { + summarisedStatus =

{_t( + "Your account has a cross-signing identity in secret storage, but it " + + "is not yet trusted by this device.", + )}

; + } else { + summarisedStatus =

{_t( + "Cross-signing and secret storage are not yet set up.", + )}

; + } + + let bootstrapButton; + if (!enabled) { + bootstrapButton =
+ + {_t("Bootstrap cross-signing and secret storage")} + +
; + } + return (
- - - - - - - - - - - - - -
{_t("Cross-signing public keys:")}{crossSigningPublicKeysOnDevice ? _t("on device") : _t("not found")}
{_t("Cross-signing private keys:")}{crossSigningPrivateKeysInStorage ? _t("in secret storage") : _t("not found")}
{_t("Secret storage public key:")}{secretStorageKeyInAccount ? _t("in account data") : _t("not found")}
-
- - {_t("Bootstrap Secure Secret Storage")} - -
+ {summarisedStatus} +
+ {_t("Advanced")} + + + + + + + + + + + + + +
{_t("Cross-signing public keys:")}{crossSigningPublicKeysOnDevice ? _t("on device") : _t("not found")}
{_t("Cross-signing private keys:")}{crossSigningPrivateKeysInStorage ? _t("in secret storage") : _t("not found")}
{_t("Secret storage public key:")}{secretStorageKeyInAccount ? _t("in account data") : _t("not found")}
+
{errorSection} + {bootstrapButton}
); } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index a12f98ebb5..f44d3d7b67 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -496,6 +496,10 @@ "New Password": "New Password", "Confirm password": "Confirm password", "Change Password": "Change Password", + "Cross-signing and secret storage are enabled.": "Cross-signing and secret storage are enabled.", + "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.", + "Cross-signing and secret storage are not yet set up.": "Cross-signing and secret storage are not yet set up.", + "Bootstrap cross-signing and secret storage": "Bootstrap cross-signing and secret storage", "Cross-signing public keys:": "Cross-signing public keys:", "on device": "on device", "not found": "not found", @@ -503,7 +507,6 @@ "in secret storage": "in secret storage", "Secret storage public key:": "Secret storage public key:", "in account data": "in account data", - "Bootstrap Secure Secret Storage": "Bootstrap Secure Secret Storage", "Your homeserver does not support device management.": "Your homeserver does not support device management.", "Unable to load device list": "Unable to load device list", "Authentication": "Authentication",