tui: plugin lifecycle events — screens react to plugin load/unload #126
Labels
No labels
area:agents
area:ai
area:config
area:dashboard
area:design
area:design-review
area:devtools
area:entities
area:gallery
area:generate
area:image
area:infra
area:meta
area:model-browser
area:navigation
area:presets
area:security
area:sessions
area:settings
area:sharing
area:test
area:ux
area:webhook
area:workdir
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/loom#126
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
User story
As a user, I want the Model Browser and Sharing overlay to update automatically when plugins are loaded or unloaded, so that available backends and sharing platforms are always current.
Problem
Plugin discovery runs once at startup in
bootstrap_core(). If a plugin fails to load and is later retried (or a new plugin is added to the plugins directory), no screen is notified. The Model Browser shows stale source availability, and the Sharing overlay may offer platforms whose plugins aren't loaded.Acceptance criteria
LoomEvent::PluginLoaded { plugin_id }andLoomEvent::PluginUnloaded { plugin_id }to the event busPluginBridge::load_plugin()andunload_plugin()publish these eventsPluginLoaded/PluginUnloaded— refreshes available sourcesPluginLoadedOut of scope
References
crates/loom-core/src/plugin/bridge.rs—load_plugin(),unload_plugin()crates/loom-core/src/event_bus.rs—LoomEventenumcrates/loom-tui/src/screens/model_browser.rs— source tab handlingcrates/loom-tui/src/components/sharing.rs— platform availability