mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-03 21:29:08 +00:00
Keep sync state in memory, initialized to false in Desktop app
Prevent deadlock if desktop app killed in middle of syncing
This commit is contained in:
@@ -67,6 +67,7 @@ const schema = {
|
||||
}
|
||||
};
|
||||
|
||||
const syncing = false;
|
||||
var state = {}
|
||||
const store = new Store({ schema });
|
||||
|
||||
@@ -111,12 +112,12 @@ function filenameToMimeType (filename) {
|
||||
|
||||
function pushDataToKhoj (regenerate = false) {
|
||||
// Don't sync if token or hostURL is not set or if already syncing
|
||||
if (store.get('khojToken') === '' || store.get('hostURL') === '' || store.get('syncing') === true) {
|
||||
if (store.get('khojToken') === '' || store.get('hostURL') === '' || syncing === true) {
|
||||
const win = BrowserWindow.getAllWindows()[0];
|
||||
if (win) win.webContents.send('update-state', state);
|
||||
return;
|
||||
} else {
|
||||
store.set('syncing', true);
|
||||
syncing = true;
|
||||
}
|
||||
|
||||
let filesToPush = [];
|
||||
@@ -201,13 +202,13 @@ function pushDataToKhoj (regenerate = false) {
|
||||
})
|
||||
.finally(() => {
|
||||
// Syncing complete
|
||||
store.set('syncing', false);
|
||||
syncing = false;
|
||||
const win = BrowserWindow.getAllWindows()[0];
|
||||
if (win) win.webContents.send('update-state', state);
|
||||
});
|
||||
} else {
|
||||
// Syncing complete
|
||||
store.set('syncing', false);
|
||||
syncing = false;
|
||||
const win = BrowserWindow.getAllWindows()[0];
|
||||
if (win) win.webContents.send('update-state', state);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user