PluginLoader.plugins is now a dict[str, Plugin], so self.plugins is more sensible. No need to traverse LoadedPlugins anymore.
Storing _source_filename in Plugin so we can determine which ones need to be reloaded/unloaded when files are changed/removed
PluginLoader keeps a list of "discovered" modules and their absolute and relative paths. Also tracks # of plugins loaded per module.
Added output panel when removing a ticker
Band-aid for textlog autoscroll False behavior with maxlines until patch is approved
Removed support for #reload of individual plugin for now. Can add back later if needed.
PluginLoader.plugins is now a dict[str, Plugin], so self.plugins is more sensible. No need to traverse LoadedPlugins anymore. Storing _source_filename in Plugin so we can determine which ones need to be reloaded/unloaded when files are changed/removed PluginLoader keeps a list of "discovered" modules and their absolute and relative paths. Also tracks # of plugins loaded per module. Added output panel when removing a ticker Band-aid for textlog autoscroll False behavior with maxlines until patch is approved Removed support for #reload of individual plugin for now. Can add back later if needed.