mirivlad
1dbb1f8c68
feat(calendar): restore full calendar UI in iframe panel
...
Replaced debug placeholder in render() with real calendar rendering:
header (nav + view tabs), categories bar with filter, and month/week/day
views. Full CRUD modals were already present in the HTML.
2026-06-08 16:36:53 +08:00
mirivlad
21130c6f1e
debug: log typeof events and JSON.stringify in both parent and iframe
2026-06-08 13:57:45 +08:00
mirivlad
82c2588449
debug: replace render() with minimal test to verify innerHTML works
2026-06-08 13:46:11 +08:00
mirivlad
4a5dab49b5
debug: add try-catch around iframe render() to catch any JS errors
2026-06-08 13:43:13 +08:00
mirivlad
f4a25128ae
debug: add WriteDebugLog inside iframe to confirm calendar-data delivery + log.Printf to WriteDebugLog
2026-06-08 12:34:14 +08:00
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
mirivlad
b80941f908
feat: плагин-система Lua + Calendar reference plugin
...
- Lua VM runtime: gopher-lua с песочницей, хуки on_init/on_tick/on_shutdown
- API: verstak.node.* / verstak.db.* / verstak.config.* / verstak.state.*
- API: verstak.worklog.* / verstak.activity.* / verstak.file.*
- API: verstak.schedule.* / verstak.http.* / verstak.ui.*
- Менеджер плагинов: жизненный цикл, инициализация, шаблоны
- Scheduler: фоновые задачи с интервалами
- PluginPage.svelte: контейнер для iframe-панелей плагинов
- Calendar plugin: миграция, категории CRUD, события CRUD
- Calendar: расширенный рекарренс (daily/weekly/monthly/yearly)
- Calendar: связь с узлами Верстака, напоминания, HTTP-праздники
- Calendar: Lua-тест-сьют (15 тестов), Go-интеграционный тест
- fix: query_row использует реальные Column() вместо guessColumns
2026-06-07 14:59:46 +08:00