OpenTrade lives in your menu bar
Agents have always kept running in the background after you close the app — but quitting also killed the only process that could tell you about it. OpenTrade now stays in the macOS menu bar, so "closed" no longer means flying blind.
New
- A menu bar item shows each agent with its status and when it was last active, how many orders are awaiting your approval (the count also sits beside the icon), and a Recent submenu of the last ten notifications — durable, so it survives restarts and reboots. Clicking an agent opens the app straight to it.
- ⌘Q now retreats to the menu bar instead of exiting (the Docker Desktop model): the window and dock icon go away, agents keep running, and notifications keep arriving. Quit OpenTrade in the menu exits the app itself; Quit OpenTrade Completely (also available in Settings → General) stops the background agent host too — nothing runs until you reopen.
- A "Show OpenTrade in the menu bar" setting (General, on by default) turns the whole behaviour off and restores a plain ⌘Q.
- When an agent has no timers or monitors set up, the Monitor tab now explains what they are and how to ask your agent for one.
Changed
- Broker errors are diagnosable now: they carry a bounded machine error code and a source-mapped stack fingerprint, and are recorded to a durable local log — still never messages, paths, tickers, or amounts.
- A slow or dropped Robinhood connection is classified as an outage, not an app error (MCP request timeouts and closed connections join the transient-network list).
- Telemetry now attaches build metadata (version, platform) to the anonymous install id, so upgrade adoption is visible without collecting anything new.
Upgrade notes
Existing installs upgrade in place: the database migrates additively (a new per-agent "last active" column and a small table for recent notifications) and your Robinhood session is kept.
Full Changelog: v0.2.4...v0.2.5