diff --git a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js index 44e00d79cd..2147f2c8a8 100644 --- a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js +++ b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js @@ -68,7 +68,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent { // does the server offer a UI auth flow with just m.login.password // for /keys/device_signing/upload? (If we have an account password, we // assume that it can) - canUploadKeysWithPasswordOnly: Boolean(this.state.accountPassword), + canUploadKeysWithPasswordOnly: null, canUploadKeyCheckInProgress: false, accountPassword: props.accountPassword || "", accountPasswordCorrect: null, @@ -76,6 +76,12 @@ export default class CreateSecretStorageDialog extends React.PureComponent { useKeyBackup: true, }; + if (props.accountPassword) { + // If we have an account password, we assume we can upload keys with + // just a password (otherwise leave it as null so we poll to check) + this.state.canUploadKeysWithPasswordOnly = true; + } + this._passphraseField = createRef(); this.loadData(); @@ -375,7 +381,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent {