mirror of
https://github.com/laurent22/joplin.git
synced 2025-03-26 21:12:59 +02:00
Cli: Fixed crash due to missing spellfix extension
This commit is contained in:
parent
25ab3c323b
commit
2200be697e
@ -741,6 +741,14 @@ class BaseApplication {
|
||||
Setting.setValue('db.fuzzySearchEnabled', fuzzySearchEnabled ? 1 : 0);
|
||||
}
|
||||
|
||||
// Always disable on CLI because building and packaging the extension is not working
|
||||
// and is too error-prone - requires gcc on the machine, or we should package the .so
|
||||
// and dylib files, but it's not sure it would work everywhere if not built from
|
||||
// source on the target machine.
|
||||
if (Setting.value('appType') !== 'desktop') {
|
||||
Setting.setValue('db.fuzzySearchEnabled', 0);
|
||||
}
|
||||
|
||||
if (Setting.value('encryption.shouldReencrypt') < 0) {
|
||||
// We suggest re-encryption if the user has at least one notebook
|
||||
// and if encryption is enabled. This code runs only when shouldReencrypt = -1
|
||||
|
@ -37,7 +37,15 @@ class DatabaseDriverNode {
|
||||
}
|
||||
|
||||
loadExtension(path) {
|
||||
return this.db_.loadExtension(path);
|
||||
return new Promise((resolve, reject) => {
|
||||
this.db_.loadExtension(path, (error) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
selectAll(sql, params = null) {
|
||||
|
@ -910,9 +910,12 @@ class JoplinDatabase extends Database {
|
||||
this.logger().info('Checking for database schema update...');
|
||||
|
||||
try {
|
||||
// Note that the only extension that can be loaded as of now is spellfix.
|
||||
// If it fails here, it will fail on the fuzzySearchEnabled() check above
|
||||
// too, thus disabling spellfix for the app.
|
||||
await this.loadExtension(this.extensionToLoad);
|
||||
} catch (error) {
|
||||
console.info(error);
|
||||
this.logger().error(error);
|
||||
}
|
||||
|
||||
let versionRow = null;
|
||||
@ -923,7 +926,7 @@ class JoplinDatabase extends Database {
|
||||
if (error.message && error.message.indexOf('no such table: version') >= 0) {
|
||||
// Ignore
|
||||
} else {
|
||||
console.info(error);
|
||||
this.logger().info(error);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user