`wails build` had never been executed against this project - CLAUDE.md says so plainly - so every screen the shop floor actually touches was unreviewed. Running it found why nobody had. fyne.io/systray's nativeLoop must own the main thread on macOS, a Cocoa requirement, and Wails already holds it. Starting both kills the process with a SIGTRAP inside cgo before a single pixel is drawn. On Windows, which is what ships, a tray on its own goroutine is fine - so the one platform the whole team develops on was the one platform that could not open the app, and the UI went unlooked-at as a result. BEHAVISION_NO_TRAY runs the window without the tray, the same escape hatch BEHAVISION_ALLOW_PLAINTEXT_MQTT already is for the broker. Deliberately an environment variable and NOT a GOOS check: a build that quietly drops the tray is how a shop PC ends up with no control surface at all, and it would fail where nobody is watching. The guard is on stop() as well, because systray.Quit() on a systray that never started is not a no-op in v1.12.2 - it would turn closing the window into a crash on exit, the failure most likely to be shrugged off as "it closed, fine". go.mod gains the indirect dependencies the darwin build pulls in. No version moved: the committed list was written by a windows-only build, which never resolves that part of the Wails tree. Verified: GOOS=windows build, go vet, and the agent suite all still pass, and the packaged .app runs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qiy5iKfz4L8S4vRaYPBdaU
48 lines
1.9 KiB
Modula-2
48 lines
1.9 KiB
Modula-2
module github.com/loyaly/behavision-desktop
|
|
|
|
go 1.22
|
|
|
|
// The desktop app is the agent with a face on it: same supervisor, same
|
|
// durable spool, same broker client, all already tested. A replace rather
|
|
// than a copy so there is exactly one implementation of each.
|
|
replace github.com/loyaly/behavision-agent => ../agent
|
|
|
|
require (
|
|
fyne.io/systray v1.12.2
|
|
github.com/loyaly/behavision-agent v0.0.0
|
|
github.com/wailsapp/wails/v2 v2.9.2
|
|
)
|
|
|
|
require (
|
|
github.com/bep/debounce v1.2.1 // indirect
|
|
github.com/eclipse/paho.mqtt.golang v1.4.3 // indirect
|
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
|
github.com/google/uuid v1.3.0 // indirect
|
|
github.com/gorilla/websocket v1.5.0 // indirect
|
|
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
|
github.com/labstack/echo/v4 v4.10.2 // indirect
|
|
github.com/labstack/gommon v0.4.0 // indirect
|
|
github.com/leaanthony/go-ansi-parser v1.6.0 // indirect
|
|
github.com/leaanthony/gosod v1.0.3 // indirect
|
|
github.com/leaanthony/slicer v1.6.0 // indirect
|
|
github.com/leaanthony/u v1.1.0 // indirect
|
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
|
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/rivo/uniseg v0.4.4 // indirect
|
|
github.com/samber/lo v1.38.1 // indirect
|
|
github.com/tkrajina/go-reflector v0.5.6 // indirect
|
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
|
github.com/valyala/fasttemplate v1.2.2 // indirect
|
|
github.com/wailsapp/go-webview2 v1.0.16 // indirect
|
|
github.com/wailsapp/mimetype v1.4.1 // indirect
|
|
golang.org/x/crypto v0.23.0 // indirect
|
|
golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 // indirect
|
|
golang.org/x/net v0.25.0 // indirect
|
|
golang.org/x/sync v0.1.0 // indirect
|
|
golang.org/x/sys v0.20.0 // indirect
|
|
golang.org/x/text v0.15.0 // indirect
|
|
)
|