patch2026-10-04

2026.10.04 — Callbacks + Activity infinite-spinner fix

Fixed

  • Dashboard → 🔁 Callbacks tab: could show “Loading callbacks…” forever. Now always renders the callback queue (pending first, oldest waiting first) with working Call Back Now, Mark Complete, and Dismiss actions, accurate pending badges, and a helpful empty state.
  • Dashboard → 🔔 Activity tab: could show “Loading activity…” forever. Now always renders the full activity feed with type/channel filters, 30-second live refresh, and the bell badge count.
  • New guarantee: every tab load is bounded by a 15-second timeout — a spinner can never persist indefinitely. Hung requests, expired sessions, and server errors all render a clear message with a ↻ Retry button.
  • Also hardened: the activity live-poll can’t stack overlapping requests, and event titles render safely even for unexpected event data.

Verified

  • 19 new unit tests (src/callbacks-activity.test.js); full suite 61/61 green.
  • 15/15 automated browser checks on the real tab code: pre-fix spinner-stuck bug reproduced, post-fix timeout→Retry→render flow confirmed, mobile 375px overflow-free.
  • Preview deployment: GET /api/callbacks and GET /api/activity answer promptly with proper JSON (401 when signed out; never a hang or 500).

Create your call page

Turn your website visitors into phone conversations — set up in under two minutes.

Create your call page →

← All releases