From 968377be17a26f4db71b3025d72b633ce82072f3 Mon Sep 17 00:00:00 2001 From: Tom van Ommeren Date: Sun, 13 Aug 2017 14:21:55 +0200 Subject: [PATCH] fix: Don't send patches if client doesn't support streaming --- src/connection.ts | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/connection.ts b/src/connection.ts index 4e6a88e40..5218cfacb 100644 --- a/src/connection.ts +++ b/src/connection.ts @@ -251,17 +251,18 @@ export function registerLanguageHandler(messageEmitter: MessageEmitter, messageW if (isRequestMessage(message)) { const subscription = observable .do(patch => { - span.log({ event: 'partialResult', patch }); - // Send $/partialResult for partial result patches - // TODO only send if client supports it - messageWriter.write({ - jsonrpc: '2.0', - method: '$/partialResult', - params: { - id: message.id, - patch: [patch] - } as PartialResultParams - }); + if (streaming) { + span.log({ event: 'partialResult', patch }); + // Send $/partialResult for partial result patches only if client supports it + messageWriter.write({ + jsonrpc: '2.0', + method: '$/partialResult', + params: { + id: message.id, + patch: [patch] + } as PartialResultParams + }); + } }) // Build up final result for BC // TODO send null if client declared streaming capability