Skip to content

Commit e2a638f

Browse files
authored
fix: for new yieldless composition, made later change to hasMultipleItemsToSync which required not too many keys added to the diffed trackers (toAdd and toRemove). (#6404)
1 parent 09636b5 commit e2a638f

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/languageSupport/languages/flux/lsp/connection.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -276,24 +276,36 @@ export class ConnectionManager {
276276
toAdd.measurement = schema.measurement
277277
}
278278
if (!isEqual(schema.fields, previousState.fields)) {
279-
toRemove.fields = previousState.fields.filter(
279+
const fieldsToRemove = previousState.fields.filter(
280280
f => !schema.fields.includes(f)
281281
)
282-
toAdd.fields = schema.fields.filter(
282+
if (fieldsToRemove.length) {
283+
toRemove.fields = fieldsToRemove
284+
}
285+
const fieldsToAdd = schema.fields.filter(
283286
f => !previousState.fields.includes(f)
284287
)
288+
if (fieldsToAdd.length) {
289+
toAdd.fields = fieldsToAdd
290+
}
285291
}
286292
if (!isEqual(schema.tagValues, previousState.tagValues)) {
287-
toRemove.tagValues = previousState.tagValues.filter(
293+
const tagValuesToRemove = previousState.tagValues.filter(
288294
({key, value}) =>
289295
!schema.tagValues.some(pair => pair.value == value && pair.key == key)
290296
)
291-
toAdd.tagValues = schema.tagValues.filter(
297+
if (tagValuesToRemove.length) {
298+
toRemove.tagValues = tagValuesToRemove
299+
}
300+
const tagValuesToAdd = schema.tagValues.filter(
292301
({key, value}) =>
293302
!previousState.tagValues.some(
294303
pair => pair.value == value && pair.key == key
295304
)
296305
)
306+
if (tagValuesToAdd.length) {
307+
toAdd.tagValues = tagValuesToAdd
308+
}
297309
}
298310

299311
return {toAdd, toRemove, shouldDelay}

0 commit comments

Comments
 (0)