From c8194a7364a19e0d9b9fcf30e327ea59d9cee1f4 Mon Sep 17 00:00:00 2001 From: sabaimran Date: Mon, 26 Feb 2024 11:53:36 -0800 Subject: [PATCH] Make out of space errors in the desktop client more obvious --- src/interface/desktop/config.html | 3 --- src/interface/desktop/main.js | 4 +++- src/interface/desktop/renderer.js | 4 +--- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/interface/desktop/config.html b/src/interface/desktop/config.html index 59ee80a5..4fbea24b 100644 --- a/src/interface/desktop/config.html +++ b/src/interface/desktop/config.html @@ -101,9 +101,6 @@
- diff --git a/src/interface/desktop/main.js b/src/interface/desktop/main.js index 587b8ef9..fff595af 100644 --- a/src/interface/desktop/main.js +++ b/src/interface/desktop/main.js @@ -215,8 +215,10 @@ function pushDataToKhoj (regenerate = false) { .catch(error => { console.error(error); state["completed"] = false; - if (error?.response?.status === 429 && (win = BrowserWindow.getAllWindows()[0])) { + if (error?.response?.status === 429 && (BrowserWindow.getAllWindows().find(win => win.webContents.getURL().includes('config')))) { state["error"] = `Looks like you're out of space to sync your files. Upgrade your plan to unlock more space.`; + const win = BrowserWindow.getAllWindows().find(win => win.webContents.getURL().includes('config')); + if (win) win.webContents.send('needsSubscription', true); } 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 { diff --git a/src/interface/desktop/renderer.js b/src/interface/desktop/renderer.js index 02f92163..4b4ea3fe 100644 --- a/src/interface/desktop/renderer.js +++ b/src/interface/desktop/renderer.js @@ -1,7 +1,6 @@ const setFolderButton = document.getElementById('update-folder'); const setFileButton = document.getElementById('update-file'); const loadingBar = document.getElementById('loading-bar'); -const needsSubscriptionElement = document.getElementById('needs-subscription'); async function removeFile(filePath) { const updatedFiles = await window.removeFileAPI.removeFile(filePath); @@ -168,9 +167,8 @@ window.updateStateAPI.onUpdateState((event, state) => { window.needsSubscriptionAPI.onNeedsSubscription((event, needsSubscription) => { console.log("needs subscription", needsSubscription); if (needsSubscription) { + window.alert("Looks like you're out of space to sync your files. Upgrade your plan to unlock more space here: https://app.khoj.dev/config"); needsSubscriptionElement.style.display = 'block'; - } else { - needsSubscriptionElement.style.display = 'none'; } });