fixed race condition

This commit is contained in:
pashpashpash
2025-04-10 16:56:45 -07:00
parent 2880934670
commit be60712afc
2 changed files with 12 additions and 7 deletions
+1 -1
View File
@@ -399,7 +399,7 @@ export function activate(context: vscode.ExtensionContext) {
// Set up test server if in test mode
if (IS_TEST && IS_TEST === "true") {
createTestServer()
createTestServer(sidebarWebview)
}
return createClineAPI(outputChannel, sidebarWebview.controller)
+11 -6
View File
@@ -8,9 +8,10 @@ let messageCatcherDisposable: vscode.Disposable | undefined
/**
* Creates and starts an HTTP server for test automation
* @param webviewProvider The webview provider instance to use for message catching
* @returns The created HTTP server instance
*/
export function createTestServer(): http.Server {
export function createTestServer(webviewProvider?: WebviewProvider): http.Server {
const PORT = 9876
testServer = http.createServer((req, res) => {
@@ -99,12 +100,16 @@ export function createTestServer(): http.Server {
Logger.log(`Test server error: ${error}`)
})
// Set up message catcher for the visible webview instance
const visibleWebview = WebviewProvider.getVisibleInstance()
if (visibleWebview) {
messageCatcherDisposable = createMessageCatcher(visibleWebview)
// Set up message catcher for the provided webview instance or try to get the visible one
if (webviewProvider) {
messageCatcherDisposable = createMessageCatcher(webviewProvider)
} else {
Logger.log("No visible webview instance found for message catcher")
const visibleWebview = WebviewProvider.getVisibleInstance()
if (visibleWebview) {
messageCatcherDisposable = createMessageCatcher(visibleWebview)
} else {
Logger.log("No visible webview instance found for message catcher")
}
}
return testServer