-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plug-ins leaking CodeLens, etc. #4472 #7238
Conversation
Please feel in how to test section. One has to inspect the plugin host twice to confirm that lenses are cached and second time that they been removed after editing. For task we just should check that there are no regressions. For both cases short instruction what a user can do is helpful now and in the future. In docs folder there should be an explanation how to inspect the plugin host process. |
Two tests were made for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
profiled reference code lens editing with java extension and it seems to work fine, there are some weirdness that they are not released immediately sometimes, but it is because of Monaco timings, eventually they get released
Fixes: eclipse-theia#4472 Signed-off-by: Victor Rubezhny <vrubezhny@redhat.com>
@vrubezhny do you have write access? |
No, I don't |
We will merge your PRs this time and nominate you as a committer afterwards based on them. |
Fixes: #4472
Signed-off-by: Victor Rubezhny vrubezhny@redhat.com
What it does
For the following adapters :
CodeLensAdapter
LinkProviderAdapter
the
releaseXXX
-like methods are added in order to release the cached items whendispose()
is invoked on the objects provided for the according provider, Thesedispose()
methods now are set viaprovideCodeLenses
andprovideLinks
methods defined inLanguagesMainImpl
.TaskProviderAdapter
is cleared of any result caching because, according to https://code.visualstudio.com/api/references/vscode-api#TaskProvider, theresolveTask
method will not be called for tasks returned from the above provideTasks method since those tasks are always fully resolvedAll the methods/calls are already made for the
CompletionAdapter
, so no modification is needed hereNote that the proper releasing of the cache maintained in
LinkProviderAdapter
the fix microsoft/vscode@e59cb58 for the following issue microsoft/vscode#91536 is to be picked up into the build.How to test
#7238 (comment)
Review checklist
Reminder for reviewers