x-intel) mirrors a product-managed set of public news accounts into the dashboard: topic-tabbed, freshness-aware, and relay-status-aware so the panel can distinguish “no recent traffic” from “relay unavailable”.
This is curated public news-account monitoring, not a user-configurable follow list.
What the panel shows
A row of topic tabs at the top with a feed list below:- Topic tabs — tabs derived from
X_TOPICSinsrc/services/x-intel. The default tab isall. - Feed items —
XItem[]for the active topic, each showing account, timestamp, API-fresh post text, and a permalink. - Live distinction — items newer than 10 minutes (
LIVE_THRESHOLD_MS = 600_000) are flagged as live. - Relay state — when the X poller isn’t configured or reachable (
relayEnabled = false), the panel indicates degraded mode rather than showing an empty list.
x-intel; canonical component is src/components/XIntelPanel.ts. Title from i18n (panels.xIntel); config name: “X News Accounts”. Default row span is 2.
How you reach it
- Cmd+K: type x news or twitter news.
- Availability by variant: registered and enabled by default in the full/geopolitical variant only (
priority: 2). The full-variant registration layerspremium: 'locked'on desktop (_desktop && { premium: 'locked' as const }), so the panel is free on web and PRO-locked on desktop. Not present in the tech, finance, commodity, or happy variants. Source:'x-intel'inFULL_PANELSofsrc/config/panels.ts.
Data sources
@/services/x-intel— backed by/api/x-feed, which proxies to the Railway ais-relay poller. The poller uses the official X APIGET /2/users/:id/tweetswithsince_idon a 5–15 minute cadence. Account coverage is product-managed rather than user-configurable.
Backed by endpoints
Refresh cadence
The relay polls every 5–15 minutes. The panel refreshes on mount and on thexIntel interval in src/config/variants/base.ts.
