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
Hot reload TUI plugin configuration and local sources #37425
Reconcile V2 TUI plugin configuration and watched local TUI plugin source changes without restarting the client.
The TUI plugin provider currently reads plugin configuration and calls reconcile() on mount. Explicit runtime activation and deactivation are live, but later Config-store changes do not rerun reconciliation and local plugin source files are not watched.
Acceptance criteria
Adding or enabling a TUI plugin activates it in the running client.
Removing or disabling a plugin runs cleanup and removes its routes, slots, commands, and themes.
Editing a watched local plugin replaces its generation without retaining stale registrations.
A failed replacement leaves a coherent previous or empty generation and can recover on the next valid save.
Addressed by the TUI config-reload work and #39776. Config changes now reconcile plugin membership live; local discovered and config-declared entrypoints are watched with cache-busted imports; generation diffing activates additions, cleans up removals, and swaps only changed plugins. Failed imports/setups retain the last good version and recover on a later valid save, while render failures are contained per plugin. The merged lifecycle suite covers replacement, isolation, cleanup, recovery, and state survival across hot reloads. Closing as resolved on the v2 branch.
Activity
opencode-agent commentedon Aug 1, 2026
Addressed by the TUI config-reload work and #39776. Config changes now reconcile plugin membership live; local discovered and config-declared entrypoints are watched with cache-busted imports; generation diffing activates additions, cleans up removals, and swaps only changed plugins. Failed imports/setups retain the last good version and recover on a later valid save, while render failures are contained per plugin. The merged lifecycle suite covers replacement, isolation, cleanup, recovery, and state survival across hot reloads. Closing as resolved on the v2 branch.