Commit graph

23 commits

Author SHA1 Message Date
Snider
bf6f46345d docs: add Service Conclave IPC implementation plan (6 tasks)
Three-chunk plan wiring core/go IPC into core/gui sub-packages.
Tasks 1-3: Window/systray/menu IPC layers (Service, Register, messages).
Task 4: Display config handlers + Register refactor.
Task 5: HandleIPCEvents IPC→WS bridge + exported mocks.
Task 6: Integration tests + delegation conversion to IPC.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:11:30 +00:00
Snider
6bf335ac7c docs: add service conclave IPC integration design spec
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:34:14 +00:00
Snider
afe92e0275 refactor: move ui/ demo to top level
Moved pkg/display/ui/ to top-level ui/ directory. No go:embed
references needed updating.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:27:52 +00:00
Snider
4814f960fb refactor(display): compose window/systray/menu sub-packages into orchestrator
Service now delegates to window.Manager, systray.Manager, and menu.Manager
instead of directly using Wails types. WSEventManager accepts EventSource
interface instead of calling application.Get() directly.
AttachWindowListeners now accepts window.PlatformWindow.

Removes migrated files: window.go, window_state.go, layout.go, tray.go, menu.go.
Tests rewritten against mock platform implementations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:27:19 +00:00
Snider
691f17ea05 feat(display): add shared types (EventSource)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:15:45 +00:00
Snider
12a612bba0 feat(menu): add Manager with platform abstraction and builder
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:15:32 +00:00
Snider
940ed0bdae feat(systray): add Manager with platform abstraction and callback registry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:13:40 +00:00
Snider
7c066ba3d8 feat(window): add Wails v3 adapter
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:12:05 +00:00
Snider
060bbe7c0b feat(window): add tiling, snapping, stacking, and workflow layouts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:09:31 +00:00
Snider
ff44b8c654 feat(window): add LayoutManager with JSON persistence
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:08:17 +00:00
Snider
3a4a2fc508 feat(window): add StateManager with JSON persistence
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:07:28 +00:00
Snider
ad3c63f093 feat(window): add Window struct, options, and Manager with CRUD
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:05:37 +00:00
Snider
2383bcd743 feat(window): add Platform and PlatformWindow interfaces
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:04:38 +00:00
Snider
6e7ca1b815 docs: add display package split implementation plan (12 tasks)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:00:15 +00:00
Snider
99a8dda8d2 docs: address spec review — complete interfaces, fix insulation gaps
Some checks failed
Security Scan / security (push) Failing after 9s
Test / test (push) Failing after 34s
Fixes from code review:
- Window type is own struct, not Wails alias; WindowOption rewrites
- PlatformWindow interface: add Position, Size, IsMaximised, IsFocused,
  Show, Hide, Fullscreen, UnFullscreen, OnWindowEvent
- Package-level vars (activeTray, trayMenuCallbacks) become Manager fields
- Menu click handlers live in pkg/display, pkg/menu builds structure only
- WSEventManager insulation via EventSource + PlatformWindow interfaces
- WindowStateManager accepts PlatformWindow, returns own Window struct
- AttachWindow uses display.WindowHandle, not any
- ui/ existing Angular code moves as-is, go:embed updates

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 11:31:16 +00:00
Snider
88c15d1a8e docs: add display package split design spec
Approved design for restructuring pkg/display/ monolith into 4 focused
packages: window, systray, menu, display (orchestrator).

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 11:27:42 +00:00
Claude
c7e0d91c48
ci: add Forgejo Actions test and security scan workflows
Some checks failed
Security Scan / security (push) Failing after 8s
Test / test (push) Failing after 29s
Uses reusable workflows from core/go-devops for Go testing
(with race detector and coverage) and security scanning
(govulncheck, gitleaks, trivy).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 03:28:13 +00:00
Claude
a453091cc8
chore: refresh go.sum after upstream tag updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:36:25 +00:00
Claude
f35e5c5e95
chore: migrate Snider deps from github.com to forge.lthn.ai
Update Enchantrix, Mining dependency paths and snider/i18n import
to forge.lthn.ai equivalents across go.mod files and imports.
Also update go-i18n pseudo-version to v0.0.1 tag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:40:42 +00:00
Snider
8fc50dc2df fix: update import paths to new repository location 2026-02-16 06:44:02 +00:00
Snider
6c5f4b3d8f fix: update import paths to new repository location 2026-02-16 06:33:58 +00:00
Snider
81b8dcf794
Add European Union Public Licence v. 1.2 2026-01-30 08:47:01 +00:00
Snider
032c426ac3 feat: initial Wails v3 desktop framework
GUI packages, examples, and documentation for building
desktop applications with Go and web technologies.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 08:44:23 +00:00