docs/panels/oref-sirens.mdx
The Israel Sirens panel (internal id oref-sirens) surfaces the OREF (Israel Home Front Command / Pikud HaOref) civil-defence siren feed in real time. When sirens are active, the panel shows the impacted localities; when none are active, it shows 24-hour history grouped into waves so an analyst can see the recent pattern at a glance.
Two states under a single panel frame:
OrefAlert[] with impacted areas and threat labels.historyWaves: OrefHistoryEntry[]). The count badge shows the total wave count in view (MAX_HISTORY_WAVES = 50).Summary counters surface across the panel:
A 3-minute client cache (HISTORY_TTL = 3 * 60 * 1000) and an in-flight flag (historyFetchInFlight) prevent thundering-herd re-fetches when the panel re-renders.
Panel id is oref-sirens; canonical component is src/components/OrefSirensPanel.ts. Title from i18n (panels.orefSirens); config name: "Israel Sirens".
priority: 2). The full-variant registration layers premium: '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: 'oref-sirens' in FULL_PANELS of src/config/panels.ts.fetchOrefHistory() in @/services/oref-alerts — backed by /api/oref-alerts (a Railway relay that mirrors the OREF feed; documented under Proxies).setData() path accepts an OrefAlertsResponse with the configured flag + active alert list.| Surface | Endpoint | Notes |
|---|---|---|
| Panel relay path | GET /api/oref-alerts | Current browser path for active sirens and history. |
| Generated service RPC | GET /api/intelligence/v1/list-oref-alerts | mode=MODE_HISTORY serves Redis history; live mode tries the relay and falls back to cached counts. |
Real-time for active sirens. History is client-cached for 3 minutes to damp re-fetch on re-render.
Free on web; PRO-locked on desktop. Registered without premium on the web path; the desktop variant spreads premium: 'locked' via the _desktop && clause.
/api/oref-alerts — relay proxy documented under Proxies.