verstak/cmd
mirivlad e99ff984b1 feat: plugin install/uninstall lifecycle + UI buttons
- AppConfig: add InstalledPlugins []string
- Manager.Discover(): no config dependency, all plugins start inactive
- Manager.SyncConfig(): apply installed/enabled state from AppConfig
- Manager.Enable(): works for plugins without on_install hook
- Manager.Install/Uninstall(): run on_install/on_uninstall hooks
- ActivatePlugin: skip if HasInstall && !Installed
- ReloadPlugins: Discover → SyncConfig → InitRuntimes
- Bindings: InstallPlugin, UninstallPlugin
- SettingsPlugins: install/uninstall buttons, toggle only after install
- Calendar: migration moved from on_init to on_install, on_uninstall drops tables
- Tests: all 12 pass (manager + runtime + calendar)
2026-06-07 15:28:37 +08:00
..
verstak refactor: implement template-driven node tree and human-readable vault layout 2026-06-02 12:47:06 +08:00
verstak-gui feat: plugin install/uninstall lifecycle + UI buttons 2026-06-07 15:28:37 +08:00
verstak-server followup: SafeVaultPath in note update, email i18n, strict check-i18n.sh 2026-06-02 11:40:27 +08:00