mirror of
https://github.com/cline/cline.git
synced 2026-09-19 02:05:44 +08:00
fixed race condition
This commit is contained in:
+1
-1
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user