Description
@jrieken, I was trying to find the source of issue, so here is what I found
First, I found that DiagnosticCollection.set is not called when kicking watch task
However, it is called from ExtHostDiagnostics.$acceptMarkersChange without entries (clearing call) when task is terminated, for not opened files URIs
So, I checked what happens in MainThreadDiagnostics._forwardMarkers
and it turns out that all markers always get filtered out there (even for opened files) because typescript
exists in _activeOwners
, so data
array doesn't get filled, and this._proxy.$acceptMarkersChange(data); is not called
However, when a file is opened, DiagnosticCollection.set
is called from somewhere else (not from ExtHostDiagnostics.$acceptMarkersChange
and I didn't found from where), before the MainThreadDiagnostics._forwardMarkers
call
So, in conclusion, collection is feeded from somewhere by DiagnosticCollection.set
for opened files, and MainThreadDiagnostics._forwardMarkers
also called after that, but never transmits markers further
I wanted to check how it behaves through codespaces extension for comparison, but it doesn't connects from OSS build
Originally posted by @n-gist in #245092 (comment)