Status-first Market Data settings: coverage map + Advanced fold#323
Merged
Conversation
… fold The settings page now answers "where is my data coming from, is it healthy" instead of presenting a wall of key forms: - Data Hub card: live status dot (server-side ping via new GET /api/market-data/hub-status, probing the hub's cheapest cached endpoint), hub on/off toggle. URL field moved to Advanced. - Data Sources coverage map: effective source per data family (boards / economy series / calendars / FX / charts / equity fundamentals), derived from hub state + configured keys — mirrors the backend's hub-first fallback chain. The only CTA is the FMP "Add key" row (the one key that unlocks data the hub doesn't serve); it expands Advanced and highlights the FMP field. - Advanced (collapsed by default): provider keys regrouped to tell the real story (FMP unlock / hub-covered / long tail), chart vendor routing, self-host hub endpoint. Also fixes a latent autosave loop in useConfigPage: the PUT echo was adopted unconditionally with a fresh object identity, re-arming useAutoSave's [data] effect — any edit on any config page kept re-PUTting every 600ms forever. Echo is now adopted only when its content differs. Demo handlers updated to match (marketData section in /api/config, PUT echo, hub-status mock). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
pull Bot
pushed a commit
to jinzaizhichi/OpenAlice
that referenced
this pull request
Jun 12, 2026
Headless sessions become reopenable + the ~/.openalice data root + sealed broker credentials + the UTA order lifecycle closes. release.yml tags v0.42.0-beta.1 + publishes the prerelease on master push. Highlights: - Headless runs are now real sessions: all four agent CLIs' session ids are captured from headless stdout while running, full output logs persist on disk, and a finished run reopens as a normal interactive session (resume-by-id). UI: collapsed "headless · N" tier under each workspace + output viewer in the Automation panel (TraderAlice#326). - User data moves to ~/.openalice (OPENALICE_HOME); broker credentials are sealed at rest (AES-256-GCM, machine-bound key, migration 0009); desktop relocates packaged data on first launch. - UTA order lifecycle closed: auto-sync poller + fill data + PnL invariant (TraderAlice#325); externally-placed orders observed as squashed [observed] commits with configurable cadence (TraderAlice#327); Alpaca error bodies surfaced, bybit spot+swap order sweep, listing-driven sync perf (TraderAlice#328). - CLI is the default workspace tool access; trading lands on the CLI surface as the alice-uta export family (TraderAlice#319, TraderAlice#320). - Self-host hardening: configurable ports, MCP loopback bind + lock, Docker self-host image, Guardian owns the Vite dev port (TraderAlice#303–TraderAlice#308, TraderAlice#322). - Market data: status-first settings page with coverage map (TraderAlice#323), hub FX table, keyless yfinance fallbacks, long-tail fetcher fixes (TraderAlice#310–TraderAlice#317). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GET /api/market-data/hub-status) + read-only Data Sources coverage map showing the effective source per data family; the only CTA is the FMP "Add key" row, which expands Advanced and highlights the field.useConfigPageautosave loop (PUT echo adopted with fresh identity → re-armed the autosave effect → silent PUT every 600ms after any edit, on every config page). Echo now adopted only when content differs.marketDatasection in/api/configmock, PUT echo, hub-status mock.Test plan
npx tsc --noEmitclean (root)cd ui && npx tsc -bcleanpnpm test— 1804 passeddev:demo: main view renders, Add key → Advanced expand + scroll + highlight, hub toggle off flips coverage rows to local/needs-keys, no unmocked-endpoint warnings, PUT loop gone (was ~10 PUTs / 6s)fx-ratesenvelope verified (metapresent — what the ping shape-checks)🤖 Generated with Claude Code