Skip to content

Commit ebee7c6

Browse files
committed
Only decrement activeRequestCount on SetTypings responses
InvalidateCache responses are triggered by file watchers, rather than by requests.
1 parent 9639b52 commit ebee7c6

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

src/server/server.ts

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -428,23 +428,25 @@ namespace ts.server {
428428
return;
429429
}
430430

431-
if (this.activeRequestCount > 0) {
432-
this.activeRequestCount--;
433-
}
434-
else {
435-
Debug.fail("Received too many responses");
436-
}
437-
438-
while (this.requestQueue.length > 0) {
439-
const queuedRequest = this.requestQueue.shift();
440-
if (this.requestMap.get(queuedRequest.operationId) === queuedRequest) {
441-
this.requestMap.delete(queuedRequest.operationId);
442-
this.scheduleRequest(queuedRequest);
443-
break;
431+
if (response.kind === ActionSet) {
432+
if (this.activeRequestCount > 0) {
433+
this.activeRequestCount--;
434+
}
435+
else {
436+
Debug.fail("Received too many responses");
444437
}
445438

446-
if (this.logger.hasLevel(LogLevel.verbose)) {
447-
this.logger.info(`Skipping defunct request for: ${queuedRequest.operationId}`);
439+
while (this.requestQueue.length > 0) {
440+
const queuedRequest = this.requestQueue.shift();
441+
if (this.requestMap.get(queuedRequest.operationId) === queuedRequest) {
442+
this.requestMap.delete(queuedRequest.operationId);
443+
this.scheduleRequest(queuedRequest);
444+
break;
445+
}
446+
447+
if (this.logger.hasLevel(LogLevel.verbose)) {
448+
this.logger.info(`Skipping defunct request for: ${queuedRequest.operationId}`);
449+
}
448450
}
449451
}
450452

0 commit comments

Comments
 (0)