`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
65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
__pycache__/
|
|
*.pyc
|
|
.venv/
|
|
venv/
|
|
.pytest_cache/
|
|
*.log
|
|
# macOS Finder metadata and rotated engine logs.
|
|
.DS_Store
|
|
*.log.[0-9]
|
|
node_modules/
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Everything below is ANCHORED with a leading slash on purpose.
|
|
#
|
|
# An unanchored pattern matches at every level, and `spool/` therefore excluded
|
|
# `agent/pkg/spool/` - the durable queue, source code - so a fresh clone did not
|
|
# compile at all. Found by cloning the repository and building it, which is the
|
|
# only way this class of mistake is ever found. `data/` and `agent.json` have
|
|
# exactly the same shape and are anchored for the same reason.
|
|
# --------------------------------------------------------------------------
|
|
|
|
# Camera credentials. Copied between machines by hand, never committed.
|
|
/.env
|
|
|
|
# The engine's writable state: the biometric database, the camera list, logs.
|
|
/data/
|
|
|
|
# Downloaded models, ~200 MB, fetched by `setup-models`.
|
|
/models/*.onnx
|
|
/models/*.caffemodel
|
|
/models/*.prototxt
|
|
|
|
# run-local.sh's working directory: the built binary, the encryption key and
|
|
# the broker's password file. Nothing here belongs in a repository.
|
|
/.local/
|
|
|
|
# The agent's local state when BEHAVISION_DATA_DIR points at a checkout.
|
|
# agent.json holds this PC's broker password and its API token.
|
|
/agent.json
|
|
/spool/
|
|
|
|
# Build output. The Windows package is ~400 MB unpacked and is rebuilt from
|
|
# source by installer/build.ps1; the WebView2 bootstrapper is Microsoft's
|
|
# redistributable, fetched at build time rather than vendored into history.
|
|
/dist/
|
|
/build/
|
|
/desktop/build/bin/
|
|
/installer/vendor/
|
|
|
|
# NOT ignored, deliberately: server/internal/web/dist and
|
|
# desktop/frontend/dist. Both are `go:embed`ed at COMPILE time, so without them
|
|
# in the tree `go build ./...` fails on a fresh checkout - on a machine that may
|
|
# have no npm at all. They are ~200 KB and regenerating them is one command; a
|
|
# repository that does not compile is the more expensive problem.
|
|
|
|
# Backups of .env made when editing camera credentials.
|
|
/.env.bak-*
|
|
|
|
# Generated by the wails CLI on every dev run and build, not source.
|
|
# NOT /desktop/build/ as a whole: appicon.png, darwin/ and windows/ under it
|
|
# are the Wails project scaffolding (icon, Info.plist, manifest) that a
|
|
# reproducible Windows build needs. Only the compiled output is ignored.
|
|
/desktop/frontend/wailsjs/
|
|
/desktop/frontend/package.json.md5
|