Merge branch 'fix/incorrect-password-error-not-showing-on-login-screen' into 'master'

Fix/incorrect password error not showing on login screen

Closes #494

See merge request bloodyhealth/drip!349
This commit is contained in:
Sofiya Tepikin
2021-01-23 12:04:30 +00:00
2 changed files with 11 additions and 9 deletions
+4 -4
View File
@@ -82,7 +82,7 @@ export default class PasswordPrompt extends Component {
render() { render() {
const { password } = this.state const { password } = this.state
const isPasswordEntered = password && password.length > 0 const isPasswordEntered = Boolean(password)
return ( return (
<React.Fragment> <React.Fragment>
@@ -95,6 +95,9 @@ export default class PasswordPrompt extends Component {
placeholder={labels.enterPassword} placeholder={labels.enterPassword}
/> />
<View style={styles.containerButtons}> <View style={styles.containerButtons}>
<Button onPress={this.onConfirmDeletion}>
{labels.forgotPassword}
</Button>
<Button <Button
disabled={!isPasswordEntered} disabled={!isPasswordEntered}
isCTA={isPasswordEntered} isCTA={isPasswordEntered}
@@ -102,9 +105,6 @@ export default class PasswordPrompt extends Component {
> >
{labels.title} {labels.title}
</Button> </Button>
<Button onPress={this.onConfirmDeletion}>
{labels.forgotPassword}
</Button>
</View> </View>
</AppPage> </AppPage>
</React.Fragment> </React.Fragment>
+6 -4
View File
@@ -23,10 +23,12 @@ export async function openDb (hash) {
try { try {
tempConnection = await Realm.open(realmConfig) tempConnection = await Realm.open(realmConfig)
} catch(err) { } catch(err) {
// wrong password provided const isErrorDecrypting = err.toString().includes('decrypt')
if (hash && err.toString().includes('decrypt')) return false const isErrorMnemonic = err.toString().includes('Invalid mnemonic')
// tried to open without password, but is encrypted // tried to open without password, but is encrypted or incorrect pwd
if (!hash && err.toString().includes('Invalid mnemonic')) return false if (isErrorMnemonic) return false
// cannot decrypt db with given pwd
if (hash && isErrorDecrypting) return false
throw err throw err
} }