135 lines
3.7 KiB
Markdown
135 lines
3.7 KiB
Markdown
# Journal - OpenCode (Part 1)
|
|
|
|
> AI development session journal
|
|
> Started: 2026-04-18
|
|
|
|
---
|
|
|
|
## Session 1: Finish Windows desktop integrations
|
|
|
|
**Date**: 2026-04-18
|
|
**Task**: Finish Windows desktop integrations
|
|
**Branch**: `master`
|
|
|
|
### Summary
|
|
|
|
Completed the Windows-focused desktop integration pass for `ocswitch desktop` by fixing the Wails bridge path, adding native tray controls, wiring desktop notifications, implementing Windows launch-at-login, and fixing cross-platform file locking that previously blocked Windows builds.
|
|
|
|
### Main Changes
|
|
|
|
| Area | Description |
|
|
|------|-------------|
|
|
| Wails bridge | Corrected frontend bridge detection and access from `window.go.main.App` to `window.go.desktop.App`. |
|
|
| Tray | Added Wails-only native tray integration via `github.com/getlantern/systray` with open/hide/start/stop/quit actions and proxy status display. |
|
|
| Notifications | Hooked desktop preference state to Wails runtime notifications for proxy start/stop, sync apply, and notification enablement. |
|
|
| Launch at login | Added Windows Startup-folder `.cmd` launcher generation while preserving existing Linux XDG autostart flow. |
|
|
| Windows compatibility | Replaced direct `syscall.Flock` usage with platform-specific file locking helpers and aligned config tests with cross-platform lock helpers. |
|
|
| Task docs | Added implementation PRD for `.trellis/tasks/04-18-windows-desktop-integrations/`. |
|
|
|
|
**Updated Files**:
|
|
- `.trellis/tasks/04-18-windows-desktop-integrations/prd.md`
|
|
- `.trellis/tasks/04-18-windows-desktop-integrations/task.json`
|
|
- `.trellis/workspace/OpenCode/journal-1.md`
|
|
- `internal/desktop/app.go`
|
|
- `internal/desktop/tray.go`
|
|
- `internal/desktop/tray_wails.go`
|
|
- `internal/desktop/notify.go`
|
|
- `internal/desktop/autostart.go`
|
|
- `internal/desktop/autostart_test.go`
|
|
- `internal/desktop/runtime_wails.go`
|
|
- `internal/desktop/runtime_fallback.go`
|
|
- `internal/fileutil/fileutil.go`
|
|
- `internal/fileutil/lock_unix.go`
|
|
- `internal/fileutil/lock_windows.go`
|
|
- `internal/config/config_test.go`
|
|
- `internal/config/file_lock_testhelper_unix_test.go`
|
|
- `internal/config/file_lock_testhelper_windows_test.go`
|
|
- `frontend/index.html`
|
|
- `frontend/src/api.ts`
|
|
- `frontend/src/env.d.ts`
|
|
- `frontend/tsconfig.json`
|
|
|
|
### Git Commits
|
|
|
|
(No commits - implementation left in worktree)
|
|
|
|
### Testing
|
|
|
|
- [OK] `npm run build` (in `frontend/`)
|
|
- [OK] `go test ./internal/desktop`
|
|
- [OK] `go test -tags desktop_wails ./internal/desktop`
|
|
- [OK] `go test ./internal/config ./internal/opencode`
|
|
|
|
### Status
|
|
|
|
[OK] **Completed**
|
|
|
|
### Next Steps
|
|
|
|
- If needed, run a full desktop binary build path (`wails build` or Windows packaging) on a machine with final packaging prerequisites.
|
|
|
|
|
|
|
|
## Session 1: Desktop GUI i18n and UX refresh
|
|
|
|
**Date**: 2026-04-19
|
|
**Task**: Desktop GUI i18n and UX refresh
|
|
**Branch**: `master`
|
|
|
|
### Summary
|
|
|
|
Added desktop theme/language preferences across Go and frontend, rebuilt the app into a tabbed localized shell, refreshed CSS theming/layout, updated Wails desktop prefs models, and verified with npm run build plus go test ./internal/app ./internal/desktop.
|
|
|
|
### Main Changes
|
|
|
|
(Add details)
|
|
|
|
### Git Commits
|
|
|
|
(No commits - planning session)
|
|
|
|
### Testing
|
|
|
|
- [OK] (Add test results)
|
|
|
|
### Status
|
|
|
|
[OK] **Completed**
|
|
|
|
### Next Steps
|
|
|
|
- None - task complete
|
|
|
|
|
|
## Session 2: Proxy SSE minimal fix
|
|
|
|
**Date**: 2026-04-19
|
|
**Task**: Proxy SSE minimal fix
|
|
**Branch**: `master`
|
|
|
|
### Summary
|
|
|
|
Fixed empty-200 SSE failover and bypassed idle timeout after SSE start in the local Responses proxy; added targeted regression tests.
|
|
|
|
### Main Changes
|
|
|
|
(Add details)
|
|
|
|
### Git Commits
|
|
|
|
| Hash | Message |
|
|
|------|---------|
|
|
| `e4789d0` | (see git log) |
|
|
|
|
### Testing
|
|
|
|
- [OK] (Add test results)
|
|
|
|
### Status
|
|
|
|
[OK] **Completed**
|
|
|
|
### Next Steps
|
|
|
|
- None - task complete
|