VAPP-17: Plugin management: add, install, enable/disable, remove, reload #30
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/plugin-management-vapp-17"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Wires the Plugins page to vervain-server's plugin lifecycle over the control channel, replacing the read-only page whose enable/disable control was a dead
href="#"link and whosePlugin.enabledwas hardcodedtrue.Changes
Plugin.enabledwith astatusstring (added/installed/disabled).list_pluginssurfaces the real per-plugin status from theupdatePluginListreply, falling back tounknownwhen the field is absent.add_plugin(manifest_url),install_plugin(name),disable_plugin(name),reload_plugin(name),remove_plugin(name). Each maps a non-okack result (missing rights, bad name) to an inline error.install_pluginawaits the server's actual ack envelope, which comes back asfor: "addplugin"withresult: "ok:<name>"rather than the genericfor: "installplugin"/ bareok.Known server gap
The server's
updatePluginListreply is sourced from the on-disk plugin catalog (plugin_catalog.rs::manifests()) and omits the lifecyclestatuswritten to theplugin/<name>docs, so status currently renders asunknownand rows offer every action. The frontend is ready for the real status; exposing it (and theinstallpluginack-envelope mismatch) is tracked in a vervain-server issue. This is the contingency the VAPP-17 spec anticipated.Acceptance criteria
unknownuntil the server exposes status)just checkpassesCloses VAPP-17.
🤖 Generated with Claude Code