Disable the use system keychain option when keytar fails to load

This commit is contained in:
Samuel Elliott 2019-03-10 02:56:45 +00:00
parent 988fe4dd7c
commit ba91a5c1ad
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6
5 changed files with 10 additions and 6 deletions

View File

@ -8,7 +8,7 @@
* LICENSE file in the root directory of this source tree.
*/
import { Settings, Cache, Events } from 'modules';
import { Settings, Cache, Events, Globals } from 'modules';
import BuiltinModule from './BuiltinModule';
import { Reflection, ReactComponents, MonkeyPatch, Patcher, DiscordApi, Security } from 'modules';
import { VueInjector, Modals, Toasts } from 'ui';
@ -62,7 +62,7 @@ export default new class E2EE extends BuiltinModule {
/* Methods */
async fetchMasterKey() {
try {
if (Settings.get('security', 'default', 'use-keytar')) {
if (Settings.get('security', 'default', 'use-keytar') && !Globals.nativeModuleErrors.keytar) {
const master = await ClientIPC.getPassword('betterdiscord', 'master');
if (master) return this.setMaster(master);

View File

@ -94,6 +94,10 @@ class BetterDiscord {
if (tests) this.initTests();
if (Globals.nativeModuleErrors.keytar) {
Settings.getSetting('security', 'default', 'use-keytar').disabled = true;
}
if (!ignoreExternal) {
await ExtModuleManager.loadAllModules(true);
await PluginManager.loadAllPlugins(true);
@ -103,7 +107,7 @@ class BetterDiscord {
Events.emit('ready');
Events.emit('discord-ready');
if (!Settings.get('core', 'advanced', 'ignore-content-manager-errors'))
if (!Settings.get('core', 'advanced', 'ignore-content-manager-errors') && !Globals.nativeModuleErrorCount)
Modals.showContentManagerErrors();
} catch (err) {
Logger.err('main', ['FAILED TO LOAD!', err]);

View File

@ -83,7 +83,7 @@ class Comms {
BDIpc.on('bd-compileSass', (event, options) => {
if (!sass) {
event.reject(native_module_errors.sass);
event.reject(native_module_errors['node-sass']);
return;
}

View File

@ -125,7 +125,7 @@ export default class Editor extends Module {
}
if (!sass) {
event.reject(native_module_errors.sass);
event.reject(native_module_errors['node-sass']);
return;
}

View File

@ -12,7 +12,7 @@ try {
exports.sass = require('node-sass');
} catch (err) {
console.error('[BetterDiscord] Error loading node-sass', err);
native_module_errors.sass = err instanceof Error ? {message: err.message, stack: err.stack} : err;
native_module_errors['node-sass'] = err instanceof Error ? {message: err.message, stack: err.stack} : err;
}
try {