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
d4a1015c86
test: cover gui spec gaps
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 19:31:12 +01:00
Snider
569a3427dc
Add Electron menu and tray bridge
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 19:25:16 +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
65ccf50c2b
Add p2p peers to core network route
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 19:16:45 +01:00
Snider
390cd600d8
Hydrate display storage preload state
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 19:00:02 +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
1f6ae5c3da
Reject ambiguous core scheme root
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 18:52:20 +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
8696801d2a
Implement display route hardening
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 18:46:14 +01:00
Snider
d0e8474785
scan(gui): spark/implement-todo pass 2
...
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
ERROR: Error running remote compact task: You've hit your usage limit for GPT-5.3-Codex-Spark. Switch to another model now, or try again at 10:21 PM.
tokens used
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-15 18:34:54 +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
f9f8ee2e92
Harden GUI trust boundaries
2026-04-15 17:38:58 +01:00
Snider
7255431e76
Implement chat thinking IPC and preload fixes
2026-04-15 17:32:21 +01:00
Snider
2714876782
Add missing GUI unit tests
2026-04-15 17:27:40 +01:00
Snider
86061a484a
Harden GUI security boundaries
2026-04-15 17:19:11 +01:00
Snider
e0722c3690
Implement missing chat contract and UI features
2026-04-15 17:12:04 +01:00
Snider
f5665049a5
Fix chat store and display middleware wiring
2026-04-15 16:57:35 +01:00
Snider
77c1921c77
Fix chat store API and display middleware
2026-04-15 16:53:57 +01:00
Snider
ae842df5bc
Add RFC-facing GUI route aliases
2026-04-15 16:50:14 +01:00
Snider
b496b909dc
Implement display store search and AI preload output
2026-04-15 16:45:20 +01:00
Snider
f7fe9dcd13
Implement core GUI route and preload gaps
2026-04-15 16:42:38 +01:00
Snider
67e991eda1
Fix GUI build compatibility
2026-04-15 16:38:16 +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
4a427d5c57
Improve display preload storage shims
2026-04-15 14:31:11 +01:00
Snider
286354a150
Implement dialog prompt flow
2026-04-15 14:26:13 +01:00
Snider
07399bf260
Add core store route and AX cleanup
2026-04-15 14:19:56 +01:00
Snider
cd6a4c8d16
Add browser file MCP tool
2026-04-15 14:16:35 +01:00
Snider
2a1d785294
Align GUI MCP surface with RFC aliases
2026-04-15 14:14:32 +01:00
Snider
2a9968354b
Implement remaining GUI integration tools
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-15 13:58:56 +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
9bd0e7b025
refactor: remove banned imports from test files
...
Security Scan / security (push) Failing after 27s
- window/persistence_test.go: path/filepath → core.JoinPath
- display/display_test.go: path/filepath → core.JoinPath/PathDir
- browser/service_test.go: errors → core.NewError
- notification/service_test.go: errors → core.NewError
Zero banned imports in ALL gui files — production AND test.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:53:40 +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