Describe your idea
Problem:
When reopening a file/project, windows opened by plugins are not able to be cleaned up by MainWindow.closeAll(), leading to URLClassLoader unable to be GCed.
Suggestion:
Add an unload API for plugins, allowing them to perform custom cleanup operations (e.g., closing windows, releasing resources, unregistering listeners) when a project is unloaded or reloaded.
P.S.
context.event().addListener(ReloadProject) {} won't fired in this situation.
Describe your idea
Problem:
When reopening a file/project, windows opened by plugins are not able to be cleaned up by MainWindow.closeAll(), leading to URLClassLoader unable to be GCed.
Suggestion:
Add an unload API for plugins, allowing them to perform custom cleanup operations (e.g., closing windows, releasing resources, unregistering listeners) when a project is unloaded or reloaded.
P.S.
context.event().addListener(ReloadProject) {}won't fired in this situation.