verstak/internal/core/plugins
mirivlad 45cfe1b0a6 fix: финальный cleanup Lua plugin lifecycle
1. ActivatePlugin → error return:
   - Возвращает ошибки при создании VM, загрузке main.lua, scheduler setup
   - on_init failure = non-fatal (logged, activation continues)
   - SetPluginEnabled сохраняет EnabledPlugins в config ТОЛЬКО после успешной активации
   - При ошибке активации — rollback (deactivate + не сохраняем в config)

2. CallPluginFunction fully thread-safe:
   - Новый метод LuaVM.CallFunctionJSON(segments, paramsJSON)
   - JSON→Lua conversion происходит под vm.mu (внутри lock)
   - Убраны parseParamsToLua/goToLua из bindings_plugins.go
   - goToLua перенесён в runtime.go (под lock)

3. PluginPage → CalendarPluginPage:
   - Компонент явно календарный (get-events/create-event/update-event/delete-event)
   - Переименован для ясности
   - Console log префиксы обновлены

4. Тесты:
   - TestSetPluginEnabled_ActivateFails_NoConfigSave: проверяет что при ошибке
     активации плагин НЕ сохраняется в EnabledPlugins
   - TestActivatePlugin_ErrorReturn: проверяет все режимы ошибок
   - TestCallFunctionJSON_ThreadSafe: JSON object/array/empty params
   - TestDeactivatePlugin_Idempotent: двойная деактивация = no-op
   - TestInitRuntimes_SkipsDisabled: только Enabled плагины активируются
2026-06-07 22:58:26 +08:00
..
builtin/templates step 10: plugins system (Lua + templates) + DokuWiki as optional plugin 2026-05-31 11:20:45 +08:00
api.go feat: плагин-система Lua + Calendar reference plugin 2026-06-07 14:59:46 +08:00
api_ext.go feat: плагин-система Lua + Calendar reference plugin 2026-06-07 14:59:46 +08:00
api_node.go feat: плагин-система Lua + Calendar reference plugin 2026-06-07 14:59:46 +08:00
api_utils.go feat: плагин-система Lua + Calendar reference plugin 2026-06-07 14:59:46 +08:00
lua.go step 10: plugins system (Lua + templates) + DokuWiki as optional plugin 2026-05-31 11:20:45 +08:00
manager.go fix: второй стабилизационный проход Lua plugin lifecycle 2026-06-07 20:49:43 +08:00
manager_lifecycle.go fix: финальный cleanup Lua plugin lifecycle 2026-06-07 22:58:26 +08:00
manager_test.go fix: второй стабилизационный проход Lua plugin lifecycle 2026-06-07 20:49:43 +08:00
runtime.go fix: финальный cleanup Lua plugin lifecycle 2026-06-07 22:58:26 +08:00
runtime_test.go test: add TestCallPluginFunction + final run - all 13 tests pass 2026-06-07 16:41:47 +08:00
scheduler.go security: стабилизационный аудит Lua plugin system 2026-06-07 19:19:44 +08:00
security_test.go fix: финальный cleanup Lua plugin lifecycle 2026-06-07 22:58:26 +08:00