Skip to content

Commit f3411d4

Browse files
committed
Only decrement activeRequestCount on SetTypings responses
InvalidateCache responses are triggered by file watchers, rather than by requests.
1 parent 21bbdd3 commit f3411d4

1 file changed

Lines changed: 17 additions & 15 deletions

File tree

src/server/server.ts

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -433,23 +433,25 @@ namespace ts.server {
433433
return;
434434
}
435435

436-
if (this.activeRequestCount > 0) {
437-
this.activeRequestCount--;
438-
}
439-
else {
440-
Debug.fail("Received too many responses");
441-
}
442-
443-
while (this.requestQueue.length > 0) {
444-
const queuedRequest = this.requestQueue.shift();
445-
if (this.requestMap.get(queuedRequest.operationId) === queuedRequest) {
446-
this.requestMap.delete(queuedRequest.operationId);
447-
this.scheduleRequest(queuedRequest);
448-
break;
436+
if (response.kind === ActionSet) {
437+
if (this.activeRequestCount > 0) {
438+
this.activeRequestCount--;
439+
}
440+
else {
441+
Debug.fail("Received too many responses");
449442
}
450443

451-
if (this.logger.hasLevel(LogLevel.verbose)) {
452-
this.logger.info(`Skipping defunct request for: ${queuedRequest.operationId}`);
444+
while (this.requestQueue.length > 0) {
445+
const queuedRequest = this.requestQueue.shift();
446+
if (this.requestMap.get(queuedRequest.operationId) === queuedRequest) {
447+
this.requestMap.delete(queuedRequest.operationId);
448+
this.scheduleRequest(queuedRequest);
449+
break;
450+
}
451+
452+
if (this.logger.hasLevel(LogLevel.verbose)) {
453+
this.logger.info(`Skipping defunct request for: ${queuedRequest.operationId}`);
454+
}
453455
}
454456
}
455457

0 commit comments

Comments
 (0)