Snider
69e1fbe7e3
Validate websocket layout numeric fields
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 19:52:26 +01:00
Snider
bd1063a102
Harden display API return semantics
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 19:21:53 +01:00
Snider
8174d1c481
Harden display window service nil safety
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 19:07:51 +01:00
Snider
4e0911b682
Surface display config persistence errors
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 18:30:42 +01:00
Snider
2dfdb0c0ee
Harden context menu websocket payloads
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 18:25:49 +01:00
Snider
3c06621999
Harden display collection returns
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 18:22:33 +01:00
Snider
48511c8272
Harden display shutdown and websocket cleanup
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 18:03:06 +01:00
Snider
d549a5a122
Harden display IPC failure handling
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-17 17:45:33 +01:00
Snider
dbe6fabc58
Fix GUI image bridge wiring
Security Scan / security (push) Has been cancelled
Test / test (push) Has been cancelled
2026-04-15 23:22:04 +01:00
Snider
ba4780f2f8
Wire notification categories and layout helpers
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 22:18:35 +01:00
Snider
0fb1ef5cfb
Implement P2P, Deno, and container spec gaps
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 22:12:19 +01:00
Snider
590246b49a
Wire GUI app mode into display state
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 21:40:09 +01:00
Snider
f496454781
Add core store route query alias
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 21:23:24 +01:00
Snider
710bd4f7b5
Add marketplace display and MCP actions
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 20:53:13 +01:00
Snider
2c5385e1cf
Harden GUI storage and manifest paths
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 20:43:48 +01:00
Snider
6507f29b09
Implement tray close-desktop action
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 20:39:56 +01:00
Snider
7ec5cb7a6c
Add missing chat action wiring
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 20:37:07 +01:00
Snider
fc73d2bb71
Add display window opacity websocket command
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 20:13:37 +01:00
Snider
eba34209ae
Add theme query display websocket commands
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 20:06:26 +01:00
Snider
9d3ce2df2a
Harden preload bridge and storage bounds
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 19:38:32 +01:00
Snider
89b357d8f7
Add missing GUI websocket command bridges
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 19:34:06 +01:00
Snider
723116acb7
Harden GUI security boundaries
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 19:20:58 +01:00
Snider
750f7d9f43
Add core network route state
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 18:56:12 +01:00
Snider
8d8b1c1a7d
Improve GUI storage and ML preload wiring
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 18:50:16 +01:00
Snider
a2022d952c
Implement GUI chat bindings and preload runtime wiring
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 17:53:40 +01:00
Snider
7255431e76
Implement chat thinking IPC and preload fixes
2026-04-15 17:32:21 +01:00
Snider
86061a484a
Harden GUI security boundaries
2026-04-15 17:19:11 +01:00
Snider
32c4a66ae2
Implement RFC integration gaps
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 14:48:12 +01:00
Snider
07399bf260
Add core store route and AX cleanup
2026-04-15 14:19:56 +01:00
Snider
2a1d785294
Align GUI MCP surface with RFC aliases
2026-04-15 14:14:32 +01:00
Snider
2c59364250
Implement chat, preload shims, and smart layouts
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 13:39:13 +01:00
Claude
f1f7fcfab9
refactor: remove banned imports from display, window/layout, window/state
...
Security Scan / security (push) Failing after 28s
- display/events.go: encoding/json → core.JSONMarshal/JSONUnmarshal
- display/display.go: os, filepath → core.Env, core.JoinPath
- window/layout.go: encoding/json, os, filepath → core primitives
- window/state.go: encoding/json, os, filepath → core primitives
All 17 packages build and test clean.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:37:47 +01:00
Claude
22668f7faa
feat(display): wire events, dock, notification actions to WebSocket bridge
...
Security Scan / security (push) Failing after 29s
- Import events package in display orchestrator
- Bridge events.ActionEventFired → EventCustomEvent WebSocket broadcast
- Bridge dock.ActionProgressChanged → EventDockProgress
- Bridge dock.ActionBounceStarted → EventDockBounce
- Bridge notification.ActionNotificationActionTriggered → EventNotificationAction
- Bridge notification.ActionNotificationDismissed → EventNotificationDismiss
- 5 new EventType constants
All 17 packages build and test clean.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:33:46 +01:00
Claude
18a455b460
refactor: migrate entire gui to Core v0.8.0 API
...
Security Scan / security (push) Failing after 25s
- Import paths: forge.lthn.ai/core/go → dappco.re/go/core
- Import paths: forge.lthn.ai/core/go-log → dappco.re/go/core/log
- Import paths: forge.lthn.ai/core/go-io → dappco.re/go/core/io
- RegisterTask → c.Action("name", handler) across all 15 services
- QueryHandler signature: (any, bool, error) → core.Result
- PERFORM(task) → Action.Run(ctx, opts)
- QUERY returns single core.Result (not 3 values)
- All 17 packages build and test clean on v0.8.0-alpha.1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:14:19 +01:00
Snider
13a493f57d
refactor(ax): AX compliance sweep — comments, error handling, test names
...
Security Scan / security (push) Failing after 26s
Test / test (push) Failing after 56s
- Fix window/service.go: replace 3 fmt.Errorf calls with coreerr.E() (removes implicit fmt dependency)
- Add usage-example comments to all bare Register() functions across 10 packages
- Remove redundant prose comments (Options/Service/Register/OnStartup/HandleIPCEvents boilerplate)
- Add Result-type comments to message types in contextmenu, keybinding, notification packages
- Fix test naming to TestFilename_Function_{Good,Bad,Ugly} pattern in display_test, window_test, persistence_test, service_screen_test
- Convert New() and CreateWindowOptions doc comments to usage-example style
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 12:18:41 +01:00
Virgil
089bdacadb
refactor(ax): align GUI surface with AX principles
...
Security Scan / security (push) Failing after 29s
Test / test (push) Successful in 2m21s
Apply declarative window specs across display, MCP, and window service paths; route layout/window controls through IPC tasks; and add a local Wails stub so the workspace builds cleanly here.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 05:56:36 +00:00
Virgil
02ea237a1d
refactor(ax): use primary screen size for layouts
2026-03-31 05:38:00 +00:00
Virgil
35f8f5ec51
refactor(ax): align GUI APIs with AX principles
2026-03-31 05:31:00 +00:00
Snider
4bdbb68f46
refactor: update import path from go-config to core/config
...
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 1m21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 10:26:36 +00:00
Snider
f884d698b2
fix(display): correct GetWindowTitle and add WS input validation
...
Security Scan / security (push) Failing after 9s
Test / test (push) Has been cancelled
GetWindowTitle was returning info.Name (the window's identifier) instead
of the actual title. Added Title() to the PlatformWindow interface and
Title field to WindowInfo so the real title flows through queries.
Added wsRequire() helper and input validation for all webview:* WS
message cases — window name is required for every webview action, and
selectors/URLs are validated where they'd cause errors if empty.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:25:29 +00:00
Snider
b3f380e949
feat(display): add webview IPC->WS bridging (18 cases)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 16:03:50 +00:00
Snider
49a83110fb
refactor(display): migrate stale Wails calls to IPC, remove wrapper types
...
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 1m35s
Migrate handleOpenFile to dialog.TaskOpenFile IPC, handleSaveFile/handleRun/
handleBuild to ActionIDECommand IPC. Remove DialogManager, EnvManager,
EventManager interfaces and wailsDialogManager, wailsEnvManager,
wailsEventManager adapter structs. App interface now has Quit() + Logger() only.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:53:50 +00:00
Snider
07bc116abd
feat(display): add contextmenu integration and ActionIDECommand to orchestrator
...
Add HandleIPCEvents cases for contextmenu.ActionItemClicked and
ActionIDECommand, WS->IPC bridge cases for contextmenu:add/remove/get/list,
EventContextMenuClick and EventIDECommand constants.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:52:38 +00:00
Snider
7ea92419ae
feat(display): add dock + lifecycle HandleIPCEvents and WS bridge integration
...
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 1m36s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:42:48 +00:00
Snider
22315d07bb
feat(display): wire keybinding, browser, and file drop through orchestrator
...
Security Scan / security (push) Failing after 7s
Test / test (push) Failing after 1m32s
Adds EventKeybindingTriggered and EventWindowFileDrop EventType constants.
HandleIPCEvents bridges keybinding.ActionTriggered and window.ActionFilesDropped
to WS events. handleWSMessage bridges WS commands to IPC for keybinding:add,
keybinding:remove, keybinding:list, browser:open-url, browser:open-file.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:38:18 +00:00
Snider
bba743d2cb
refactor(display): remove extracted clipboard/dialog/notification/theme/screen code
...
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 1m33s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:24:06 +00:00
Snider
335d93d05c
feat(display): bridge new service Actions to WSEventManager
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:20:43 +00:00
Snider
92333ff2db
feat(display): wire go-config for config file persistence
...
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 1m25s
Replace the in-memory loadConfig() stub with real ~/.core/gui/config.yaml
loading via go-config. handleConfigTask now persists changes to disk via
cfg.Set() + cfg.Commit(). Sub-service applyConfig() stubs fleshed out:
window reads default dimensions (TODO: Manager API), systray stores icon
path, menu reads show_dev_tools flag with accessor.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:54:28 +00:00
Snider
49e1faed54
feat(display): convert delegation to IPC, full conclave integration
...
Display methods now route through IPC bus instead of direct Manager calls.
Menu/tray setup uses PERFORM. Tray click actions handled via HandleIPCEvents.
WindowInfo aliased from window package. Direct Manager refs removed.
Integration tests verify full 4-service conclave startup and communication.
Service struct no longer holds windows/tray/menus fields — uses windowService()
for direct Manager access where IPC messages are not yet defined.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:36:55 +00:00
Snider
0893456a9e
feat(display): add HandleIPCEvents IPC->WS bridge
...
Display HandleIPCEvents converts sub-service actions to WS events.
ActionServiceStartup triggers buildMenu/setupTray after all services start.
Export mock platforms from each sub-package for integration tests.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:32:16 +00:00