diff --git a/src/components/views/settings/CrossSigningPanel.js b/src/components/views/settings/CrossSigningPanel.js index 2217a0f2ee..cb04d2a018 100644 --- a/src/components/views/settings/CrossSigningPanel.js +++ b/src/components/views/settings/CrossSigningPanel.js @@ -81,7 +81,9 @@ export default class CrossSigningPanel extends React.PureComponent { const crossSigningPrivateKeysInStorage = await crossSigning.isStoredInSecretStorage(secretStorage); const selfSigningPrivateKeyCached = !!(pkCache && await pkCache.getCrossSigningKeyCache("self_signing")); const userSigningPrivateKeyCached = !!(pkCache && await pkCache.getCrossSigningKeyCache("user_signing")); - const sessionBackupKeyCached = !!(await cli._crypto.getSessionBackupPrivateKey()); + const sessionBackupKeyFromCache = await cli._crypto.getSessionBackupPrivateKey(); + const sessionBackupKeyCached = !!(sessionBackupKeyFromCache); + const sessionBackupKeyWellFormed = sessionBackupKeyFromCache instanceof Uint8Array; const secretStorageKeyInAccount = await secretStorage.hasKey(); const homeserverSupportsCrossSigning = await cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing"); @@ -94,6 +96,7 @@ export default class CrossSigningPanel extends React.PureComponent { selfSigningPrivateKeyCached, userSigningPrivateKeyCached, sessionBackupKeyCached, + sessionBackupKeyWellFormed, secretStorageKeyInAccount, homeserverSupportsCrossSigning, crossSigningReady, @@ -143,6 +146,7 @@ export default class CrossSigningPanel extends React.PureComponent { selfSigningPrivateKeyCached, userSigningPrivateKeyCached, sessionBackupKeyCached, + sessionBackupKeyWellFormed, secretStorageKeyInAccount, homeserverSupportsCrossSigning, crossSigningReady, @@ -208,6 +212,16 @@ export default class CrossSigningPanel extends React.PureComponent { ); } + let sessionBackupKeyWellFormedText = ""; + if (sessionBackupKeyCached) { + sessionBackupKeyWellFormedText = ", "; + if (sessionBackupKeyWellFormed) { + sessionBackupKeyWellFormedText += _t("well formed"); + } else { + sessionBackupKeyWellFormedText += _t("unexpected type"); + } + } + return (
{summarisedStatus} @@ -232,7 +246,10 @@ export default class CrossSigningPanel extends React.PureComponent { {_t("Session backup key:")} - {sessionBackupKeyCached ? _t("cached locally") : _t("not found locally")} + + {sessionBackupKeyCached ? _t("cached locally") : _t("not found locally")} + {sessionBackupKeyWellFormedText} + {_t("Secret storage public key:")} diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index aa2f0aa819..004e81da71 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -592,6 +592,8 @@ "Cross-signing and secret storage are not yet set up.": "Cross-signing and secret storage are not yet set up.", "Reset cross-signing and secret storage": "Reset cross-signing and secret storage", "Bootstrap cross-signing and secret storage": "Bootstrap cross-signing and secret storage", + "well formed": "well formed", + "unexpected type": "unexpected type", "Cross-signing public keys:": "Cross-signing public keys:", "in memory": "in memory", "not found": "not found",