You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We do not want to see diagnostics or verification as tests for projects that are not being viewed in the IDE, however currently that can happen. The server currently depends on didClose notifications to determine a project is no longer being viewed. However, VSCode will not always send a didClose to the server when closing an editor in the IDE.
The reliable event on the VSCode side is window.onDidChangeVisibleTextEditors. On the LSP side, there is a pull API for diagnostics. Using that seems to be the way for diagnostics to disappear at the right time.
We could then reinterpret the pull diagnostics API as a state syncing API. If a document is closed, then we expect the client not to send a previousResultId, which tells the server to send all notifications for this document. If a previousResultId is provided then the server can compare with the result of the last sent notification and if it matches, only resend if there's a difference.
The server will only close state and enable garbage collection after didClose though.
The text was updated successfully, but these errors were encountered:
We do not want to see diagnostics or verification as tests for projects that are not being viewed in the IDE, however currently that can happen. The server currently depends on didClose notifications to determine a project is no longer being viewed. However, VSCode will not always send a didClose to the server when closing an editor in the IDE.
The reliable event on the VSCode side is
window.onDidChangeVisibleTextEditors
. On the LSP side, there is a pull API for diagnostics. Using that seems to be the way for diagnostics to disappear at the right time.We could then reinterpret the pull diagnostics API as a state syncing API. If a document is closed, then we expect the client not to send a
previousResultId
, which tells the server to send all notifications for this document. If apreviousResultId
is provided then the server can compare with the result of the last sent notification and if it matches, only resend if there's a difference.The server will only close state and enable garbage collection after didClose though.
The text was updated successfully, but these errors were encountered: