From a3a05fee312ad7c04d2abb0e186da55c7d061462 Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Mon, 2 Oct 2023 12:27:05 -0700 Subject: fix: :bug: change for/backwardslash decoding scheme --- continuedev/src/continuedev/plugins/steps/main.py | 4 ++-- continuedev/src/continuedev/server/gui.py | 11 +++++++++++ continuedev/src/continuedev/server/ide.py | 6 +++++- 3 files changed, 18 insertions(+), 3 deletions(-) (limited to 'continuedev') diff --git a/continuedev/src/continuedev/plugins/steps/main.py b/continuedev/src/continuedev/plugins/steps/main.py index 0698f1ae..ab4fe948 100644 --- a/continuedev/src/continuedev/plugins/steps/main.py +++ b/continuedev/src/continuedev/plugins/steps/main.py @@ -239,14 +239,14 @@ def decode_escaped_path(path: str) -> str: """We use a custom escaping scheme to record the full path of a file as a corresponding basename, but withut URL encoding, because then the URI just gets interpreted as a full path again.""" - return path.replace("$forwardslash$", "/").replace("$backslash$", "\\") + return path.replace("$f$", "/").replace("$b$", "\\") def encode_escaped_path(path: str) -> str: """We use a custom escaping scheme to record the full path of a file as a corresponding basename, but withut URL encoding, because then the URI just gets interpreted as a full path again.""" - return path.replace("/", "$forwardslash$").replace("\\", "$backslash$") + return path.replace("/", "$f$").replace("\\", "$b$") class EditAlreadyEditedRangeStep(Step): diff --git a/continuedev/src/continuedev/server/gui.py b/continuedev/src/continuedev/server/gui.py index cc6bc911..26fcbd42 100644 --- a/continuedev/src/continuedev/server/gui.py +++ b/continuedev/src/continuedev/server/gui.py @@ -306,6 +306,17 @@ class GUIProtocolServer: def add_model_for_role(self, role: str, model_class: str, model: Any): models = self.session.autopilot.continue_sdk.config.models + + model_copy = model.copy() + if "api_key" in model_copy: + del model_copy["api_key"] + if "hf_token" in model_copy: + del model_copy["hf_token"] + posthog_logger.capture_event( + "select_model_for_role", + {"role": role, "model_class": model_class, "model": model_copy}, + ) + if role == "*": async def async_stuff(): diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index 579c8f1d..1709503b 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -602,7 +602,11 @@ async def websocket_endpoint(websocket: WebSocket, session_id: str = None): # Message handler def handle_msg(msg): - message = json.loads(msg) + try: + message = json.loads(msg) + except json.JSONDecodeError: + logger.critical(f"Error decoding json: {msg}") + return if "messageType" not in message or "data" not in message: return -- cgit v1.2.3-70-g09d2