mirivlad
70d4c75d7e
fix: resolve plugin path relative to binary location + copy plugins in build
...
- main.go: use filepath.Dir(os.Args[0]) instead of ./plugins for discovery
- api/app.go: same fix for ReloadPlugins
- build.sh: copy plugins/ to build/bin/plugins/ after wails build
- Fixes: plugin not found when binary launched from different CWD
2026-06-16 21:00:44 +08:00
mirivlad
fa52a0bfc3
docs: update plugin runtime for vault capability
2026-06-16 20:43:55 +08:00
mirivlad
d7da8b4ee3
feat: add vault status to Plugin Manager UI
2026-06-16 20:40:00 +08:00
mirivlad
d6793e8695
feat: add core vault layer with capability registration
2026-06-16 20:37:48 +08:00
mirivlad
6832b01b23
fix: show core capabilities in registry, add degraded text + contribution counts
2026-06-16 17:52:50 +08:00
mirivlad
47530559bb
test: add plugin lifecycle tests (core caps, degraded, disabled, reload)
2026-06-16 17:46:24 +08:00
mirivlad
b9e08f7c9d
docs: add plugin runtime documentation
2026-06-16 17:43:59 +08:00
mirivlad
dd3a5f8ff5
fix: register core capabilities + plugin lifecycle before discovery
...
Core fix: core capabilities (plugin-manager, capability-registry,
contribution-registry, permissions, events) now registered BEFORE plugin
discovery, so plugins can resolve required capabilities at load time.
Changes:
- main.go: register 5 core capabilities before DiscoverPlugins();
add plugin lifecycle (register caps, resolve required/optional,
set status LOADED/DEGRADED/MISSING_REQUIRED, register contributions)
- api/app.go: ReloadPlugins now re-registers core + plugin capabilities
- capability/registry.go: add UnregisterAll() for reload
- cmd/smoke-platform/main.go: verify core caps, required resolution,
degraded status, total caps >= 7
- PluginCard.svelte: remove ✗ on optional-missing, show degraded info
- PluginManager.svelte: preserved (counter shows core+plugin caps)
Rule: optional missing => DEGRADED (not FAILED).
Required missing => MISSING_REQUIRED_CAPABILITY.
Verified: smoke-platform ✅ , test.sh (10/10) ✅ , check.sh ✅
2026-06-16 17:12:46 +08:00
mirivlad
1c75389535
feat: dev plugin install flow + smoke-platform
...
- .gitignore: add plugins/ (local dev install, never committed)
- scripts/install-dev-plugins.sh: install dist package from ../verstak-official-plugins/dist/ into ./plugins/
- scripts/smoke-platform.sh: headless verification of plugin discovery, manifest, capabilities, contributions
- cmd/smoke-platform/main.go: Go smoke command for headless plugin verification
- docs/DEV_PLUGINS.md: dev plugin flow documentation
2026-06-16 16:46:00 +08:00
mirivlad
d72ebeb7ec
fix: PluginManager — proper await with real Wails imports; no dead code, no safety timer
2026-06-16 15:39:30 +08:00
mirivlad
1d20b833f2
hotfix: PluginManager infinite loading
...
Root cause: Wails v2 + webkit2gtk-4.1 production bridge deadlock.
await window.go.api.App.Xxx() deadlocks the JS event loop — Promise
never settles, finally never runs, loading=true forever.
Fix:
- Replace await with .then() + fallback to window.runtime.Call()
- Separated GetPlugins/GetCapabilities/GetPermissions (no Promise.all)
- Safety timer: force loading=false after 10s regardless of bridge
- All UI states: loading → error (with retry) → empty/list + badges
- Go: tilde expansion (~/.config/verstak/plugins → /home/mirivlad/...)
- Go: diagnostic logging in DiscoverPlugins + API methods
- Tests: 11 headless Go tests for DiscoverPlugins
2026-06-16 14:51:31 +08:00
mirivlad
3c613f0e44
hotfix: plugin manager infinite loading
...
- frontend: RPC timeout (8s), try/catch/finally on reload, proper UI
states (loading/error/empty/list)
- frontend: reload() now sets loading=true, catches errors
- backend: tilde expansion (~/.config/verstak/plugins → /home/mirivlad/...)
- backend: ReloadPlugins returns diagnostics (count, summary string)
- backend: diagnostic logging in DiscoverPlugins (start/dirs/entries/results)
- backend: FormatDiscoverySummary helper
- testing: 11 headless tests for DiscoverPlugins (empty, missing, valid,
broken JSON, duplicate ID, multiple dirs, nonexistent mix)
2026-06-16 13:52:49 +08:00
mirivlad
e39e249556
fix: auto-detect webkit2gtk-4.1 with -tags webkit2_41, show binary path
2026-06-16 13:38:51 +08:00
mirivlad
291f4224fa
fix: build.sh auto-installs wails if missing
2026-06-16 12:34:25 +08:00
mirivlad
e3b0bf5f4b
fix: reorder build — frontend before Go (//go:embed deps), auto-install node_modules/go mod
2026-06-16 12:32:31 +08:00
mirivlad
aefb9e9a9c
feat: add scripts/build.sh, test.sh, check.sh + gofmt + go mod tidy
2026-06-16 12:11:55 +08:00
mirivlad
ec8ceee7f3
chore: add .gitignore, remove node_modules from tracking
2026-06-16 12:01:36 +08:00
mirivlad
cf0a962b46
feat: plugin discovery, capability/contribution/permission registries, Plugin Manager UI
2026-06-16 12:00:43 +08:00
mirivlad
08f7328d87
docs: add AGENTS.md with platform architecture rules
2026-06-16 11:53:16 +08:00
mirivlad
65531ec50b
Initial commit
2026-06-16 06:35:41 +03:00