Skip to content

Commit dd2c210

Browse files
committed
electron-main: Rework the event index initialization and deletion.
1 parent 7147af8 commit dd2c210

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

electron_app/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"electron-window-state": "^4.1.0",
1616
"minimist": "^1.2.0",
1717
"png-to-ico": "^1.0.2",
18-
"make-dir": "^3.0.0",
1918
"matrix-seshat": "^0.3.0"
2019
}
2120
}

electron_app/src/electron-main.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@ const { migrateFromOldOrigin } = require('./originMigrator');
4040
const windowStateKeeper = require('electron-window-state');
4141
const Store = require('electron-store');
4242

43+
const fs = require('fs');
44+
const afs = fs.promises;
45+
4346
let Seshat = null;
44-
let makeDir = null;
4547

4648
try {
4749
Seshat = require('matrix-seshat');
48-
makeDir = require('make-dir');
4950
} catch (e) {
5051
}
5152

@@ -255,21 +256,34 @@ ipcMain.on('seshat', async function(ev, payload) {
255256
if (eventIndex === null) {
256257
let p = path.normalize(eventStorePath);
257258
try {
258-
await makeDir(p);
259+
await afs.mkdir(p, {recursive: true});
259260
eventIndex = new Seshat(p, {passphrase: "DEFAULT_PASSPHRASE"});
260-
console.log("Initialized event store");
261261
} catch (e) {
262262
sendError(payload.id, e);
263263
return;
264264
}
265265
}
266266
break;
267267

268-
case 'deleteEventIndex':
269-
await eventIndex.delete();
268+
case 'closeEventIndex':
270269
eventIndex = null;
271270
break;
272271

272+
case 'deleteEventIndex':
273+
const deleteFolderRecursive = async(p) => {
274+
for (let entry of await afs.readdir(p)) {
275+
const curPath = path.join(p, entry);
276+
await afs.unlink(curPath);
277+
}
278+
}
279+
280+
try {
281+
await deleteFolderRecursive(path.normalize(eventStorePath));
282+
} catch (e) {
283+
}
284+
285+
break;
286+
273287
case 'isEventIndexEmpty':
274288
if (eventIndex === null) ret = true;
275289
else ret = await eventIndex.isEmpty();

src/vector/platform/ElectronPlatform.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ class SeshatIndexerManager extends BaseEventIndexManager {
149149
return this._ipcCall('loadCheckpoints');
150150
}
151151

152+
async closeEventIndex(): Promise<> {
153+
return this._ipcCall('closeEventIndex');
154+
}
155+
152156
async deleteEventIndex(): Promise<> {
153157
return this._ipcCall('deleteEventIndex');
154158
}

0 commit comments

Comments
 (0)