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
{{ message }}
Repository navigation
[BUG] Disabled marketplace plugins are reloaded after refresh #409
Disabling an installed marketplace plugin updates only the current browser state. The action is not persisted through the existing marketplace disable endpoint, and the bootstrap load route returns installed rows regardless of their enabled flag.
After a reload, a plugin that the operator disabled can therefore be loaded again. With an incompatible package such as the ISS plugin, this recreates the same startup error on every browser session and leaves no reliable Disabled section from which to restore or manage the package.
Reproduction
Install a marketplace plugin in the local edition.
Disable it from Data Sources / Plugins.
Reload the application.
Observe that the installed record is returned by the bootstrap load route and the plugin is loaded again.
If the plugin fails during import, observe that the user cannot manage it reliably from the normal UI.
Expected behavior
Enable and disable actions should update the installed plugin record through the server API.
Bootstrap should load only records whose enabled flag is true.
Disabled plugins should remain installed and manageable, but must not be imported until re-enabled.
Cause
PluginsTab changes the client store and plugin manager but does not call the marketplace enable/disable routes. Separately, GET /api/marketplace/load calls installedPlugin.findMany() without filtering by enabled state.
The first commit also exposes installed plugin state through the marketplace status response so the management UI can represent the persisted state.
Validation
Tested on the self-hosted local edition. Disabled plugins remain disabled after refresh, incompatible disabled packages are not imported during bootstrap, and they can subsequently be re-enabled without deleting their database rows.
Scope
This is independent of any particular plugin. ISS exposed the problem, but the persistence and bootstrap behavior affects every marketplace plugin.
Activity
fix(marketplace): exclude disabled plugins from bootstrap load (#409) (…