Skip appending AI error strings to the session and use event-specific fallback commentary when the model returns empty content.
Co-authored-by: Cursor <cursoragent@cursor.com>
Account cards expand to fill available width when fewer exchanges are enabled instead of staying in fixed four-column tracks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Each settings section and exchange card gets its own save button and fold toggle with state persisted in localStorage.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align the trading supervision card with other settings panels so content is not flush against the border.
Co-authored-by: Cursor <cursoragent@cursor.com>
Proactive monitoring for manual/hub closes and new opens prevents overtrading via in-app alerts, configurable WeChat links, and supervisor chat.
Co-authored-by: Cursor <cursoragent@cursor.com>
Load enabled instances from settings, fetch market info via /api/hub/market, and apply exchange-specific amount and price precision in trend and roll calculators.
Co-authored-by: Cursor <cursoragent@cursor.com>
Merge 关键阻力位/关键支撑位 into 关键支撑阻力, share key_monitor_form.js across hub and new-tab views, and add hub shortcut to /key_monitor.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clamp future last_close anchors, cap remaining time server-side, prefer freeze_remaining_sec in the badge JS, and auto-repair stale DB rows on read.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use soft in-frame navigation and loading overlay in hub instance shell; pass embed=1 for iframe SSO opens.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove username_hint from hub auth status API and disable autocomplete on hub and instance login forms.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove external-close risk hooks; register user_instance, user_hub, and user_trend_stop via hub API and trend stop; update docs and tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
Implements shared account_risk_lib with 4h/1h cooloff and daily freeze rules, wires hooks into all four exchange apps and hub monitor UI, with tests and docs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sort inner-archive daily trades by closed_at_ms; add open time and live hold duration to instance and hub position cards, with exchange margin on hub footer.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop redeclared AI_CHAT_MAX_ATTACHMENTS and aiChatPendingFiles in app.js that broke script parsing after the chat perf update.
Co-authored-by: Cursor <cursoragent@cursor.com>
Cache chat context, parallelize exchange fetches, skip fund history writes, defer rolling summary to a background thread, and cache markdown rendering on the client.
Co-authored-by: Cursor <cursoragent@cursor.com>
Let users paste images into AI chat with removable pending attachments, and feed exchange/monitor stop-loss and take-profit into trading coach snapshots so replies reflect actual protection on open positions.
Co-authored-by: Cursor <cursoragent@cursor.com>