canUseNativeModules

This commit is contained in:
antelle 2020-05-05 18:01:16 +02:00
parent 58296dd896
commit 75671a0a8a
No known key found for this signature in database
GPG Key ID: 094A2F2D6136A4EE
4 changed files with 7 additions and 4 deletions

View File

@ -4,15 +4,16 @@ import { Logger } from 'util/logger';
import { Launcher } from 'comp/launcher';
import { AppSettingsModel } from 'models/app-settings-model';
import { YubiKeyVendorId } from 'const/hardware';
import { Features } from 'util/features';
const logger = new Logger('usb-listener');
const UsbListener = {
supported: Launcher && !(process.platform === 'win32' && !process.arch.includes('64')),
supported: Launcher && Features.canUseNativeModules,
attachedYubiKeys: 0,
init() {
if (!Launcher) {
if (!this.supported) {
return;
}

View File

@ -18,6 +18,8 @@ const Features = {
isLocal: location.origin.indexOf('localhost') >= 0,
needFixClicks: /Edge\/14/.test(navigator.appVersion),
canUseWasmInWebWorker: !isDesktop && !/Chrome/.test(navigator.appVersion),
canUseNativeModules:
isDesktop && !(process.platform === 'win32' && !process.arch.includes('64')),
supportsTitleBarStyles() {
return this.isMac;

View File

@ -29,7 +29,7 @@ const KdbxwebInit = {
if (!global.WebAssembly) {
return Promise.reject('WebAssembly is not supported');
}
if (Launcher && Launcher.reqNative && AppSettingsModel.nativeArgon2) {
if (Features.canUseNativeModules && AppSettingsModel.nativeArgon2) {
const ts = logger.ts();
const argon2 = Launcher.reqNative('argon2');
logger.debug('Native argon2 runtime loaded (main thread)', logger.ts(ts));

View File

@ -3,7 +3,7 @@ import { AppSettingsModel } from 'models/app-settings-model';
import { YubiKeyOtpModel } from 'models/external/yubikey-otp-model';
import template from 'templates/settings/settings-devices.hbs';
import { Links } from 'const/links';
import { UsbListener } from '../../comp/app/usb-listener';
import { UsbListener } from 'comp/app/usb-listener';
class SettingsDevicesView extends View {
template = template;