Real-time updates

Hilal uses a WebSocket layer to push updates to your browser without you refreshing. Most of the time it’s invisible — numbers just stay fresh. This page explains what’s covered and what to expect.

In this guide:

  • What’s pushed live
  • What’s not pushed live
  • Indicators in the UI
  • Cross-tab consistency

What’s pushed live

The following update without a page refresh:

  • Quota usage — AI tokens, members, marketplaces, storage. The live counters in Settings → Subscriptions update as usage accrues.
  • Notifications — the bell icon shows new alerts in real time.
  • FBA shipment status — when Amazon flips a shipment to “receiving” or “closed,” Hilal updates immediately.
  • Order arrivals — new orders appear in the Orders list as they come.
  • Workflow status — long-running operations (large data syncs, bulk imports) push their progress.
  • Permission changes — if your role changes, the affected UI hides or shows menu items on the next interaction without a reload.

What’s not pushed live

The following needs a page refresh or scheduled sync:

  • Amazon-side data that Hilal pulls on a schedule — campaign performance refreshes hourly, settlement reports refresh on the settlement cycle.
  • AI Chat conversations — your own session is live, but cross-device sync waits for the next page load.
  • Superset dashboards — refreshes on the dashboard’s configured interval.

Indicators in the UI

A small WebSocket status indicator sits in the bottom-right of the app:

IndicatorMeaning
🟢 LiveConnected; updates flowing.
🟡 ReconnectingLost connection; retrying. Hilal queues updates for when it’s back.
🔴 DisconnectedCouldn’t reconnect after several attempts. The app falls back to polling — slower but still functional.

Cross-tab consistency

If you have Hilal open in multiple tabs, the WebSocket layer keeps them in sync — switching organization in one tab updates the others; clearing a notification in one clears it everywhere.

This is also why the React Query cache clears on org switch: stale data from the previous org would otherwise show until the next refetch.

Troubleshooting

  • Indicator stuck on Reconnecting. Your network is throttling WebSocket connections. Refresh; if persistent, your firewall may be blocking WebSocket — switch to a different network.
  • Updates not appearing despite Live indicator. The page may be in a degraded state. Refresh.
  • Two tabs showing different data. Both should sync once they catch up over the WebSocket — wait a few seconds. If persistent, refresh both.

Related articles