Releases: OpenTradeOSS/OpenTrade
Releases · OpenTradeOSS/OpenTrade
Release list
v0.2.3
Robinhood connection: no more stuck "Connecting…"
This release fixes a class of Robinhood connect failures seen during onboarding, and adds a way out when a consent flow is abandoned.
Fixed
- Connect could hang forever after closing the Robinhood tab. The OAuth consent waited on a fixed local port with no timeout and no way to cancel; a closed browser tab left the daemon spinning on "connecting" for the life of the process, and every later Connect failed with
EADDRINUSE. The loopback now binds an ephemeral port per consent (RFC 8252 §7.3), only proceeds once it is actually listening, and times out after 10 minutes. - A second Connect click no longer collides with a pending one — it supersedes it: the abandoned attempt is cancelled and a fresh consent starts, whether the click comes from Onboarding, Settings, or the Portfolio panel.
- Silent reconnect at launch never opens a browser unprompted, and no longer drops still-valid tokens when a token refresh fails for a transient reason (network / 5xx). You re-consent explicitly via Connect.
- Bare
Errorlistener failures during connect no longer surface as unhandled rejections.
Added
- Cancel / Disconnect. While a consent is waiting on the browser, all three Connect surfaces show "Waiting for Robinhood…" with a Cancel button (including Onboarding, where Settings isn't reachable). Settings → Market data gets a Disconnect button when connected — also how to switch Robinhood accounts.
Telemetry
app_errorandbroker_connect_failednow carry a boundederror_code(e.g.EADDRINUSE,OAUTH_ACCESS_DENIED) — the machine code only, never a message or path — so async Node system errors, whose stacks have no app frames, are diagnosable.
Upgrade notes
No schema or data migration. Existing installs keep their Robinhood session and refresh silently as before.
Full Changelog: v0.2.2...v0.2.3
0.2.2
Release v0.2.2 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0.2.1
Release v0.2.1 Fixes a critical order-gating bug: agents created by CI-built releases (v0.1.x, v0.2.0) placed orders with NO approval gate, because the claude gate config (.claude/settings.json) was only copied from a git-untracked template that clean CI builds never bundled. It's now generated in code and re-emitted before every spawn, so the gate is build-independent and self-heals already-ungated agents on next launch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v0.1.4
Features
- macOS notifications — native alerts for scheduled runs, order fills/rejections, approvals needed, agents paused (turn limit), and app updates; per-kind toggles + per-agent mute in Settings → Notifications.
- Background turn limit — cap how many unattended background turns an agent runs before pausing (default 20), with an agent-view turn button (reset / per-agent on-off) and global controls in Settings → Agents, including a per-run max run-time.
- Use your Claude subscription for background runs — scheduled (headless) runs no longer silently bill your
ANTHROPIC_API_KEYby default; toggle in Settings → Agents. - Production database migrations — existing databases now survive updates via versioned schema migrations.
- Conversation-retention notice — Settings warns when Claude Code's
cleanupPeriodDaysis low enough that agents could lose memory, with a one-click fix.
Fixes
- Robinhood re-authentication — an expired grant no longer leaves the Connect button permanently failing; boot auto-connect never opens a browser unprompted (re-consent is explicit).
- Broken / failing agents — an unresumable agent now pauses its schedules instead of firing (and notifying) every tick; the failure reason (billing / auth / network) is logged; paused agents stop firing timers and monitors entirely.
- Host stability — the backend host is no longer killed when an update finishes downloading (fixes the "OpenTrade connecting…" hang).
0.1.3
v0.1.3 Release v0.1.3 — anonymous product analytics
0.1.2
Release v0.1.2 (first signed + notarized) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0.1.1
Release v0.1.1; CI falls back to ad-hoc when no signing cert Bump version to 0.1.1. The release workflow now ad-hoc signs (skipping Developer ID + notarization) whenever CSC_LINK is unset, not just on explicit adhoc dispatch — so a tag push produces a usable release before signing secrets are configured / while Apple's notary is unavailable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>