summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--continuedev/src/continuedev/server/gui.py2
-rw-r--r--continuedev/src/continuedev/server/session_manager.py10
-rw-r--r--extension/package-lock.json4
-rw-r--r--extension/package.json2
-rw-r--r--extension/src/activation/environmentSetup.ts8
-rw-r--r--extension/src/debugPanel.ts17
6 files changed, 27 insertions, 16 deletions
diff --git a/continuedev/src/continuedev/server/gui.py b/continuedev/src/continuedev/server/gui.py
index 9bb621cb..58e875b9 100644
--- a/continuedev/src/continuedev/server/gui.py
+++ b/continuedev/src/continuedev/server/gui.py
@@ -198,4 +198,4 @@ async def websocket_endpoint(websocket: WebSocket, session: Session = Depends(we
await websocket.close()
await session_manager.persist_session(session.session_id)
- session_manager.remove_session(session.session_id)
+ await session_manager.remove_session(session.session_id)
diff --git a/continuedev/src/continuedev/server/session_manager.py b/continuedev/src/continuedev/server/session_manager.py
index 4e47098a..511dc070 100644
--- a/continuedev/src/continuedev/server/session_manager.py
+++ b/continuedev/src/continuedev/server/session_manager.py
@@ -85,12 +85,14 @@ class SessionManager:
create_async_task(autopilot.run_policy())
return session
- def remove_session(self, session_id: str):
+ async def remove_session(self, session_id: str):
print("Removing session: ", session_id)
if session_id in self.sessions:
- ws_to_close = self.sessions[session_id].ide.websocket
- if ws_to_close is not None and ws_to_close.client_state != WebSocketState.DISCONNECTED:
- self.sessions[session_id].autopilot.ide.websocket.close()
+ if session_id in self.registered_ides:
+ ws_to_close = self.registered_ides[session_id].websocket
+ if ws_to_close is not None and ws_to_close.client_state != WebSocketState.DISCONNECTED:
+ await self.sessions[session_id].autopilot.ide.websocket.close()
+
del self.sessions[session_id]
async def persist_session(self, session_id: str):
diff --git a/extension/package-lock.json b/extension/package-lock.json
index b210256b..78409984 100644
--- a/extension/package-lock.json
+++ b/extension/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "continue",
- "version": "0.0.214",
+ "version": "0.0.215",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "continue",
- "version": "0.0.214",
+ "version": "0.0.215",
"license": "Apache-2.0",
"dependencies": {
"@electron/rebuild": "^3.2.10",
diff --git a/extension/package.json b/extension/package.json
index 72cfa6ab..5df08aee 100644
--- a/extension/package.json
+++ b/extension/package.json
@@ -14,7 +14,7 @@
"displayName": "Continue",
"pricing": "Free",
"description": "The open-source coding autopilot",
- "version": "0.0.214",
+ "version": "0.0.215",
"publisher": "Continue",
"engines": {
"vscode": "^1.67.0"
diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts
index 44fb3b60..146a6e37 100644
--- a/extension/src/activation/environmentSetup.ts
+++ b/extension/src/activation/environmentSetup.ts
@@ -487,6 +487,14 @@ export async function startContinuePythonServer() {
console.log(`error: ${error.message}`);
});
+ child.on("close", (code: any) => {
+ console.log(`child process exited with code ${code}`);
+ });
+
+ child.stdout.on("data", (data: any) => {
+ console.log(`stdout: ${data}`);
+ });
+
// Write the current version of vscode to a file called server_version.txt
fs.writeFileSync(serverVersionPath(), getExtensionVersion());
} catch (e) {
diff --git a/extension/src/debugPanel.ts b/extension/src/debugPanel.ts
index 4785ba20..d3972189 100644
--- a/extension/src/debugPanel.ts
+++ b/extension/src/debugPanel.ts
@@ -211,15 +211,16 @@ export function setupDebugPanel(
let url = data.url;
if (typeof websocketConnections[url] === "undefined") {
await connectWebsocket(url);
+ } else {
+ console.log(
+ "Websocket connection requested by GUI already open at",
+ url
+ );
+ panel.webview.postMessage({
+ type: "websocketForwardingOpen",
+ url,
+ });
}
- console.log(
- "Websocket connection requested by GUI already open at",
- url
- );
- panel.webview.postMessage({
- type: "websocketForwardingOpen",
- url,
- });
break;
}
case "websocketForwardingMessage": {