mirror of
https://github.com/khoj-ai/khoj.git
synced 2025-02-17 08:04:21 +00:00
Prevent Desktop app triggering multiple simultaneous syncs to server
Lock syncing to server if a sync is already in progress. While the sync save button gets disabled while sync is in progress, the background sync job can still trigger a sync in parallel. This sync lock prevents that
This commit is contained in:
parent
404d47f1a1
commit
779fa531a5
1 changed files with 11 additions and 0 deletions
|
@ -110,6 +110,15 @@ 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) {
|
||||
const win = BrowserWindow.getAllWindows()[0];
|
||||
if (win) win.webContents.send('update-state', state);
|
||||
return;
|
||||
} else {
|
||||
store.set('syncing', true);
|
||||
}
|
||||
|
||||
let filesToPush = [];
|
||||
const files = store.get('files') || [];
|
||||
const folders = store.get('folders') || [];
|
||||
|
@ -192,11 +201,13 @@ function pushDataToKhoj (regenerate = false) {
|
|||
})
|
||||
.finally(() => {
|
||||
// Syncing complete
|
||||
store.set('syncing', false);
|
||||
const win = BrowserWindow.getAllWindows()[0];
|
||||
if (win) win.webContents.send('update-state', state);
|
||||
});
|
||||
} else {
|
||||
// Syncing complete
|
||||
store.set('syncing', false);
|
||||
const win = BrowserWindow.getAllWindows()[0];
|
||||
if (win) win.webContents.send('update-state', state);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue