mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-28 12:45:45 +01:00
Correctly set biometric state on connect failure
This commit is contained in:
parent
951e2f0e51
commit
7c468de97c
@ -152,10 +152,16 @@ export default class MainBackground {
|
|||||||
this.systemService.clearClipboard(clipboardValue, clearMs);
|
this.systemService.clearClipboard(clipboardValue, clearMs);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
() => {
|
async () => {
|
||||||
if (this.nativeMessagingBackground != null) {
|
if (this.nativeMessagingBackground != null) {
|
||||||
const promise = this.nativeMessagingBackground.getResponse();
|
const promise = this.nativeMessagingBackground.getResponse();
|
||||||
this.nativeMessagingBackground.send({command: 'biometricUnlock'})
|
|
||||||
|
try {
|
||||||
|
await this.nativeMessagingBackground.send({command: 'biometricUnlock'});
|
||||||
|
} catch (e) {
|
||||||
|
return Promise.reject(e);
|
||||||
|
}
|
||||||
|
|
||||||
return promise.then((result) => result.response === 'unlocked');
|
return promise.then((result) => result.response === 'unlocked');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-content-row box-content-row-checkbox" appBoxRow>
|
<div class="box-content-row box-content-row-checkbox" appBoxRow>
|
||||||
<label for="biometric">{{'unlockWithBiometrics' | i18n}}</label>
|
<label for="biometric">{{'unlockWithBiometrics' | i18n}}</label>
|
||||||
<input id="biometric" type="checkbox" (change)="updateBiometric()" [checked]="biometric">
|
<input id="biometric" type="checkbox" (change)="updateBiometric()" [(ngModel)]="biometric">
|
||||||
</div>
|
</div>
|
||||||
<a class="box-content-row box-content-row-flex text-default" href="#" appStopClick appBlurClick
|
<a class="box-content-row box-content-row-flex text-default" href="#" appStopClick appBlurClick
|
||||||
(click)="lock()">
|
(click)="lock()">
|
||||||
|
@ -208,10 +208,6 @@ export class SettingsComponent implements OnInit {
|
|||||||
|
|
||||||
async updateBiometric() {
|
async updateBiometric() {
|
||||||
if (this.biometric) {
|
if (this.biometric) {
|
||||||
this.biometric = false;
|
|
||||||
await this.storageService.remove(ConstantsService.biometricUnlockKey);
|
|
||||||
this.vaultTimeoutService.biometricLocked = false;
|
|
||||||
} else {
|
|
||||||
const submitted = Swal.fire({
|
const submitted = Swal.fire({
|
||||||
heightAuto: false,
|
heightAuto: false,
|
||||||
buttonsStyling: false,
|
buttonsStyling: false,
|
||||||
@ -242,8 +238,14 @@ export class SettingsComponent implements OnInit {
|
|||||||
if (this.biometric === false) {
|
if (this.biometric === false) {
|
||||||
this.platformUtilsService.showToast('error', this.i18nService.t('errorEnableBiometricTitle'), this.i18nService.t('errorEnableBiometricDesc'));
|
this.platformUtilsService.showToast('error', this.i18nService.t('errorEnableBiometricTitle'), this.i18nService.t('errorEnableBiometricDesc'));
|
||||||
}
|
}
|
||||||
|
}).catch((e) => {
|
||||||
|
// Handle connection errors
|
||||||
|
this.biometric = false;
|
||||||
})
|
})
|
||||||
]);
|
]);
|
||||||
|
} else {
|
||||||
|
await this.storageService.remove(ConstantsService.biometricUnlockKey);
|
||||||
|
this.vaultTimeoutService.biometricLocked = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user