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