-
Notifications
You must be signed in to change notification settings - Fork 29.9k
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
Extension viewlet does not reflect runtime state of extensions #11190
Comments
Yeah, the extensions runtime state isn't connected to their management state. This is both debt and feature work. |
@joaomoreno And while you people are at it, is there some way you could add support for deactivating extensions on the fly. Is it as simple as calling |
@hashhar ping @alexandrudima |
@hashhar Great question! On a first look, yes, it should be as easy as that. However, not all extensions do everything 100% correctly, e.g.:
I don't think we should have a "deactivate" action in the UI until we are certain we have deactivated an extension. One way we could guarantee this is if we'd return a special instance of the Now, there is an even more nasty class of issues, ones which involve third party resources. Imagine an extension does any of the following:
And it forgets to clean up all of that. Some of those resources get cleaned up by node on shutdown (releases file handles, on Windows kills child processes, stops listening to ports), so to really be certain on our side an extension has deactivated we'd need to hack node's TL;DR: We can call |
@alexandrudima Thanks for the insight. I guess this is the difference between seasoned developers and freshly out of school. 😛 It means that there needs to be a policy to ensure all these things don't happen before this work can be done. |
Now, we indicate an extension being running or not. Closing this. |
testing #11023:
--disable-extensions
Observe: extension viewlet still shows all extension with an uninstall button. There is no indication that extensions are not active.
The text was updated successfully, but these errors were encountered: