electron-main: Skip the reindex if we're going to delete the db anyways.

This commit is contained in:
Damir Jelić 2020-06-23 16:42:27 +02:00
parent 748f4dccb4
commit 141107c678

View File

@ -207,6 +207,14 @@ let eventIndex = null;
let mainWindow = null;
global.appQuitting = false;
const deleteFolderRecursive = async (p) => {
for (const entry of await afs.readdir(p)) {
const curPath = path.join(p, entry);
await afs.unlink(curPath);
}
};
// handle uncaught errors otherwise it displays
// stack traces in popup dialogs, which is terrible (which
// it will do any time the auto update poke fails, and there's
@ -453,7 +461,22 @@ ipcMain.on('seshat', async function(ev, payload) {
const recoveryIndex = new SeshatRecovery(eventStorePath, {
passphrase: seshatPassphrase,
});
const userVersion = await recoveryIndex.getUserVersion();
// If our user version is 0 we'll delete the db
// anyways so reindexing it is a waste of time.
if (userVersion === 0) {
await recoveryIndex.shutdown();
try {
await deleteFolderRecursive(eventStorePath);
} catch (e) {
}
} else {
await recoveryIndex.reindex();
}
eventIndex = new Seshat(eventStorePath, {
passphrase: seshatPassphrase,
});
@ -485,13 +508,6 @@ ipcMain.on('seshat', async function(ev, payload) {
case 'deleteEventIndex':
{
const deleteFolderRecursive = async (p) => {
for (const entry of await afs.readdir(p)) {
const curPath = path.join(p, entry);
await afs.unlink(curPath);
}
};
try {
await deleteFolderRecursive(eventStorePath);
} catch (e) {