Commit Graph

19 Commits (167d5932451f81dfa1044c0daddc617dabcd1a80)

Author SHA1 Message Date
mirivlad 167d593245 Revert "fix: P1 shell tooltip fixes + Today routing + workspaces API"
This reverts commit 9d06b164d3.
2026-07-01 07:44:28 +08:00
mirivlad 9d06b164d3 fix: P1 shell tooltip fixes + Today routing + workspaces API
Shell:
- WorkspaceHost: change tooltip from pluginId to human-readable title
- StatusBar: replace pluginId tooltips with label or id (3 occurrences)
- App: startup routing to Today view, sidebar Today nav item
- Sidebar: add Today button in Overview section
- TodaySurface: separate global vs workspace data (no fallthrough)

Plugin API:
- Add workspaces.list() method wrapping App.ListWorkspaces()
  (needed by browser-inbox workspace picker)
2026-07-01 04:15:35 +08:00
mirivlad 4bb9e84c35 feat: harden secret unlock and deletion 2026-06-29 21:42:10 +08:00
mirivlad 56c685212b feat: expose scoped secret store API 2026-06-29 20:36:45 +08:00
mirivlad fe91784a8e feat: add bounded binary file writes 2026-06-29 10:12:26 +08:00
mirivlad 7363313f1e feat: expose plugin data storage bridge 2026-06-29 04:27:22 +08:00
mirivlad 874b7c7ffb feat: add workspace header search slot 2026-06-29 04:24:15 +08:00
mirivlad 57677d1b1b feat: add bounded file byte reads 2026-06-29 03:16:16 +08:00
mirivlad cc0c050985 feat: restore files from trash 2026-06-28 22:18:44 +08:00
mirivlad e5bdaec0aa feat: expose file trash metadata 2026-06-28 17:03:12 +08:00
mirivlad 1f1001108b feat: expose action contributions to plugins 2026-06-28 16:28:33 +08:00
mirivlad 35012025b6 Add sync reset key bridge 2026-06-27 18:46:05 +08:00
mirivlad a2791c494f Add browser inbox receiver 2026-06-27 18:39:01 +08:00
mirivlad 173cc93258 Add public external file open API 2026-06-27 13:30:31 +08:00
mirivlad 7630a31286 Add command palette host 2026-06-27 13:13:15 +08:00
mirivlad 24444a8588 Refine v2 plugin API and sync flow 2026-06-27 12:36:31 +08:00
mirivlad db67c370ab fix: add backend.call() API and fix [object Object] in workspace sidebar
- Add api.backend.call(method, ...args) to VerstakPluginAPI for direct Wails method invocation
- Add wsName() helper in WorkspaceTree.svelte with String() coercion to prevent [object Object] display
- Use correct Wails path window['go']['api']['App'] in backend.call()
2026-06-20 03:02:33 +08:00
mirivlad 6ed6df311a Implement milestone 6b workbench routing skeleton 2026-06-19 07:51:57 +08:00
mirivlad 05ef1449bc feat: milestone 5b — frontend bundle host + VerstakPluginAPI stub
- Bundle contract: window.VerstakPluginRegister(id, {components: {...}})
- PluginBundleHost.svelte: loads bundle via GetPluginAssetContent, mounts components
- VerstakPluginAPI.js: restricted API (capabilities, events, settings, commands — all stub)
- ViewContainer: PluginBundleHost replaces placeholder when frontend bundle exists
- PluginManager: settings panel via PluginBundleHost (removed hardcoded form)
- Backend: GetPluginFrontendInfo, GetPluginAssetContent with path security
- Security: reject absolute paths, path traversal, escape from plugin root
- Error boundary: bundle load/execute/mount errors show fallback, not crash
- Tests: 11 backend tests (asset API), frontend bundle checks in smoke
- Docs: bundle contract, VerstakPluginAPI, security constraints
2026-06-17 17:39:50 +08:00