Files
worldmonitor/scripts/shared/sectors.json
Elie Habib 663a58bf80 fix(market): route sectors/commodities to correct RPC endpoints (#2198)
* fix(fear-greed): add undici to scripts/package.json (ERR_MODULE_NOT_FOUND on Railway)

* fix(market): route sectors/commodities to correct RPC endpoints

fetchMultipleStocks called listMarketQuotes which reads market:stocks-bootstrap:v1.
Sector ETFs (XLK, XLF...) and commodity futures (GC=F, CL=F...) are NOT in that key,
so the live-fetch fallback always returned empty after the one-shot bootstrap hydration
was consumed, causing panels to show "data temporarily unavailable" on every reload.

Fix: add fetchSectors() -> getSectorSummary (reads market:sectors:v1) and
fetchCommodityQuotes() -> listCommodityQuotes (reads market:commodities-bootstrap:v1),
each with their own circuit breaker and persistent cache. Remove useCommodityBreaker
option from fetchMultipleStocks which no longer serves commodities.

* feat(heatmap): show friendly sector names instead of ETF tickers

The relay seeds name:ticker into Redis (market:sectors:v1), so the
heatmap showed XLK/XLF/etc which is non-intuitive for most users.

Fix: build a sectorNameMap from shared/sectors.json (keyed by symbol)
and apply it in both the hydrated and live fetch paths. Also update
sectors.json names from ultra-short aliases (Tech, Finance) to clearer
labels (Technology, Financials, Health Care, etc).

Closes #2194

* sync scripts/shared/sectors.json

* feat(heatmap): show ticker + sector name side by side

Each tile now shows:
  XLK              <- dim ticker (for professionals)
  Technology       <- full sector name (for laymen)
  +1.23%

Sector names updated: Tech→Technology, Finance→Financials,
Health→Health Care, Real Est→Real Estate, Comms→Comm. Svcs, etc.

Refs #2194
2026-03-24 17:26:29 +04:00

17 lines
594 B
JSON

{
"sectors": [
{ "symbol": "XLK", "name": "Technology" },
{ "symbol": "XLF", "name": "Financials" },
{ "symbol": "XLE", "name": "Energy" },
{ "symbol": "XLV", "name": "Health Care" },
{ "symbol": "XLY", "name": "Consumer Disc." },
{ "symbol": "XLI", "name": "Industrials" },
{ "symbol": "XLP", "name": "Con. Staples" },
{ "symbol": "XLU", "name": "Utilities" },
{ "symbol": "XLB", "name": "Materials" },
{ "symbol": "XLRE", "name": "Real Estate" },
{ "symbol": "XLC", "name": "Comm. Svcs" },
{ "symbol": "SMH", "name": "Semiconductors" }
]
}