Add debug status for cached backup key format

Check backup key format to ease tracking such issues

Debug helper for https://github.com/vector-im/riot-web/issues/13057
pull/21833/head
J. Ryan Stinnett 2020-04-07 19:11:06 +01:00
parent 5c5c095737
commit c21dccc397
2 changed files with 21 additions and 2 deletions

View File

@ -81,7 +81,9 @@ export default class CrossSigningPanel extends React.PureComponent {
const crossSigningPrivateKeysInStorage = await crossSigning.isStoredInSecretStorage(secretStorage); const crossSigningPrivateKeysInStorage = await crossSigning.isStoredInSecretStorage(secretStorage);
const selfSigningPrivateKeyCached = !!(pkCache && await pkCache.getCrossSigningKeyCache("self_signing")); const selfSigningPrivateKeyCached = !!(pkCache && await pkCache.getCrossSigningKeyCache("self_signing"));
const userSigningPrivateKeyCached = !!(pkCache && await pkCache.getCrossSigningKeyCache("user_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 secretStorageKeyInAccount = await secretStorage.hasKey();
const homeserverSupportsCrossSigning = const homeserverSupportsCrossSigning =
await cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing"); await cli.doesServerSupportUnstableFeature("org.matrix.e2e_cross_signing");
@ -94,6 +96,7 @@ export default class CrossSigningPanel extends React.PureComponent {
selfSigningPrivateKeyCached, selfSigningPrivateKeyCached,
userSigningPrivateKeyCached, userSigningPrivateKeyCached,
sessionBackupKeyCached, sessionBackupKeyCached,
sessionBackupKeyWellFormed,
secretStorageKeyInAccount, secretStorageKeyInAccount,
homeserverSupportsCrossSigning, homeserverSupportsCrossSigning,
crossSigningReady, crossSigningReady,
@ -143,6 +146,7 @@ export default class CrossSigningPanel extends React.PureComponent {
selfSigningPrivateKeyCached, selfSigningPrivateKeyCached,
userSigningPrivateKeyCached, userSigningPrivateKeyCached,
sessionBackupKeyCached, sessionBackupKeyCached,
sessionBackupKeyWellFormed,
secretStorageKeyInAccount, secretStorageKeyInAccount,
homeserverSupportsCrossSigning, homeserverSupportsCrossSigning,
crossSigningReady, 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 ( return (
<div> <div>
{summarisedStatus} {summarisedStatus}
@ -232,7 +246,10 @@ export default class CrossSigningPanel extends React.PureComponent {
</tr> </tr>
<tr> <tr>
<td>{_t("Session backup key:")}</td> <td>{_t("Session backup key:")}</td>
<td>{sessionBackupKeyCached ? _t("cached locally") : _t("not found locally")}</td> <td>
{sessionBackupKeyCached ? _t("cached locally") : _t("not found locally")}
{sessionBackupKeyWellFormedText}
</td>
</tr> </tr>
<tr> <tr>
<td>{_t("Secret storage public key:")}</td> <td>{_t("Secret storage public key:")}</td>

View File

@ -601,6 +601,8 @@
"not found locally": "not found locally", "not found locally": "not found locally",
"User signing private key:": "User signing private key:", "User signing private key:": "User signing private key:",
"Session backup key:": "Session backup key:", "Session backup key:": "Session backup key:",
"well formed": "well formed",
"unexpected type": "unexpected type",
"Secret storage public key:": "Secret storage public key:", "Secret storage public key:": "Secret storage public key:",
"in account data": "in account data", "in account data": "in account data",
"Homeserver feature support:": "Homeserver feature support:", "Homeserver feature support:": "Homeserver feature support:",