summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--continuedev/src/continuedev/server/meilisearch_server.py39
-rw-r--r--extension/src/activation/activate.ts3
2 files changed, 31 insertions, 11 deletions
diff --git a/continuedev/src/continuedev/server/meilisearch_server.py b/continuedev/src/continuedev/server/meilisearch_server.py
index 419f081f..232b6243 100644
--- a/continuedev/src/continuedev/server/meilisearch_server.py
+++ b/continuedev/src/continuedev/server/meilisearch_server.py
@@ -1,19 +1,44 @@
import os
+import shutil
import subprocess
import meilisearch
from ..libs.util.paths import getServerFolderPath
-def check_meilisearch_installed() -> bool:
+def ensure_meilisearch_installed():
"""
Checks if MeiliSearch is installed.
"""
-
serverPath = getServerFolderPath()
meilisearchPath = os.path.join(serverPath, "meilisearch")
+ dumpsPath = os.path.join(serverPath, "dumps")
+ dataMsPath = os.path.join(serverPath, "data.ms")
+
+ paths = [meilisearchPath, dumpsPath, dataMsPath]
- return os.path.exists(meilisearchPath)
+ existing_paths = set()
+ non_existing_paths = set()
+ for path in paths:
+ if os.path.exists(path):
+ existing_paths.add(path)
+ else:
+ non_existing_paths.add(path)
+
+ if len(non_existing_paths) > 0:
+ # Clear the meilisearch binary
+ if meilisearchPath in existing_paths:
+ os.remove(meilisearchPath)
+ non_existing_paths.remove(meilisearchPath)
+
+ # Clear the existing directories
+ for p in existing_paths:
+ shutil.rmtree(p, ignore_errors=True)
+
+ # Download MeiliSearch
+ print("Downloading MeiliSearch...")
+ subprocess.run(
+ f"curl -L https://install.meilisearch.com | sh", shell=True, check=True, cwd=serverPath)
def check_meilisearch_running() -> bool:
@@ -42,12 +67,8 @@ def start_meilisearch():
serverPath = getServerFolderPath()
- # Check if MeiliSearch is installed
- if not check_meilisearch_installed():
- # Download MeiliSearch
- print("Downloading MeiliSearch...")
- subprocess.run(
- f"curl -L https://install.meilisearch.com | sh", shell=True, check=True, cwd=serverPath)
+ # Check if MeiliSearch is installed, if not download
+ ensure_meilisearch_installed()
# Check if MeiliSearch is running
if not check_meilisearch_running():
diff --git a/extension/src/activation/activate.ts b/extension/src/activation/activate.ts
index 3a370132..a1d88a31 100644
--- a/extension/src/activation/activate.ts
+++ b/extension/src/activation/activate.ts
@@ -76,9 +76,8 @@ export async function activateExtension(context: vscode.ExtensionContext) {
return await ideProtocolClient.getSessionId();
})();
- const sessionId = await sessionIdPromise;
// Register Continue GUI as sidebar webview, and beging a new session
- const provider = new ContinueGUIWebviewViewProvider(sessionId);
+ const provider = new ContinueGUIWebviewViewProvider(sessionIdPromise);
context.subscriptions.push(
vscode.window.registerWebviewViewProvider(