From af9ceb00a0d7b564b39740ac5e851332463e073e Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Tue, 9 Jan 2024 22:32:06 +0530 Subject: [PATCH] Show relevant error msg in desktop app, e.g when can't connect to server --- src/interface/desktop/main.js | 17 ++++++++++------- src/interface/desktop/renderer.js | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/interface/desktop/main.js b/src/interface/desktop/main.js index 8e197dc3..a98b15c8 100644 --- a/src/interface/desktop/main.js +++ b/src/interface/desktop/main.js @@ -114,8 +114,8 @@ function processDirectory(filesToPush, folder) { const files = fs.readdirSync(folder.path, { withFileTypes: true, recursive: true }); for (const file of files) { - console.log(file); if (file.isFile() && validFileTypes.includes(file.name.split('.').pop())) { + console.log(`Add ${file.name} in ${folder.path} for indexing`); filesToPush.push(path.join(folder.path, file.name)); } @@ -214,17 +214,20 @@ function pushDataToKhoj (regenerate = false) { .catch(error => { console.error(error); state["completed"] = false; - if (error.response.status === 429) { - win = BrowserWindow.getAllWindows()[0] - if (win) win.webContents.send('needsSubscription', true); - if (win) win.webContents.send('update-state', state); + if (error?.response?.status === 429 && (win = BrowserWindow.getAllWindows()[0])) { + state["error"] = `Looks like you're out of space to sync your files. Upgrade your plan to unlock more space.`; + } else if (error?.code === 'ECONNREFUSED') { + state["error"] = `Could not connect to Khoj server. Ensure you can connect to it at ${error.address}:${error.port}.`; + } else { + state["error"] = `Sync was unsuccessful at ${currentTime.toLocaleTimeString()}. Contact team@khoj.dev to report this issue.`; } }) .finally(() => { // Syncing complete syncing = false; - const win = BrowserWindow.getAllWindows()[0]; - if (win) win.webContents.send('update-state', state); + if (win = BrowserWindow.getAllWindows()[0]) { + win.webContents.send('update-state', state); + } }); } diff --git a/src/interface/desktop/renderer.js b/src/interface/desktop/renderer.js index 16df6d2f..02f92163 100644 --- a/src/interface/desktop/renderer.js +++ b/src/interface/desktop/renderer.js @@ -158,7 +158,7 @@ window.updateStateAPI.onUpdateState((event, state) => { nextSyncTime = new Date(); nextSyncTime.setMinutes(Math.ceil((nextSyncTime.getMinutes() + 1) / 10) * 10); if (state.completed == false) { - syncStatusElement.innerHTML = `Sync was unsuccessful at ${currentTime.toLocaleTimeString()}. Contact team@khoj.dev to report this issue.`; + if (state.error) syncStatusElement.innerHTML = state.error; return; } const options = { hour: '2-digit', minute: '2-digit' };