Commit graph

14 commits

Author SHA1 Message Date
Virgil
3bcca95b5e refactor(ax): align GUI code with declarative AX principles
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 13:19:46 +00:00
Snider
13a493f57d refactor(ax): AX compliance sweep — comments, error handling, test names
Some checks failed
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
2001e7ed87 Merge pull request '[agent/codex:gpt-5.4-mini] Update the code against the AX design principles in ~/spec/r...' (#4) from main into dev
Some checks failed
Security Scan / security (push) Failing after 35s
Test / test (push) Failing after 41s
2026-03-31 05:57:04 +00:00
Virgil
089bdacadb refactor(ax): align GUI surface with AX principles
Some checks failed
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
Snider
bff6c5b7d3 refactor(ax): add screen service tests and window improvements
Some checks failed
Security Scan / security (push) Failing after 29s
Test / test (push) Failing after 2m2s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 06:38:55 +01: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
Virgil
2b6e6cee0b refactor(ax): finish AX cleanup in display stack
Some checks failed
Security Scan / security (push) Failing after 28s
Test / test (push) Failing after 2m9s
2026-03-31 05:24:09 +00:00
Virgil
da22bedbc6 refactor(ax): align public APIs with AX principles
Some checks failed
Security Scan / security (push) Failing after 42s
Test / test (push) Failing after 1m31s
2026-03-31 05:13:43 +00:00
Snider
b559562dd9 fix(dx): use coreerr.E() and go-io, update CLAUDE.md, add tests
Some checks failed
Security Scan / security (pull_request) Failing after 28s
Test / test (pull_request) Failing after 1m59s
- Replace 90+ fmt.Errorf calls with coreerr.E() from go-log across
  display, window, systray, keybinding, contextmenu, and mcp packages
- Replace os.ReadFile/WriteFile/MkdirAll with coreio.Local in
  window/layout.go and window/state.go
- Update CLAUDE.md: fix key files table for new package structure,
  document error handling and file I/O conventions, add missing deps
- Add 37 tests for window package (task handlers, persistence,
  tiling modes, snap positions, workflow layouts)
- Window coverage: 47.1% → 69.8%

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 09:05:35 +00:00
Snider
f884d698b2 fix(display): correct GetWindowTitle and add WS input validation
Some checks failed
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
23bf0302d3 feat(window): add file drop support to PlatformWindow interface
Adds OnFileDrop(handler func(paths []string, targetID string)) to PlatformWindow.
trackWindow() now wires file drop callbacks to ActionFilesDropped broadcasts.
Updates both exported MockWindow and unexported mockWindow with the new method.
Wails adapter maps WindowFilesDropped event with DroppedFiles and DropTargetDetails.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 14:36:55 +00:00
Snider
92333ff2db feat(display): wire go-config for config file persistence
Some checks failed
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
a59028f112 feat(window): add IPC layer — Service, Register factory, message types
Window package is now a full core.Service with typed IPC messages.
Register(Platform) factory closure captures platform adapter for WithService.
OnStartup queries config and registers query/task handlers.
Platform events converted to IPC actions via trackWindow.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:25:34 +00:00