Pusher — live notification push

With Pusher the bell badge increments live in an open tab when a reminder or action notification arrives. Without it nothing breaks — the bell and email still work. Configured from the Pusher tab; one private channel per user.

Last updated: 2026-09-21

On this page

What is broadcast?

Only two notifications: due-date reminders and cheque action notifications — on a private per-user channel private-App.Models.User.{id} with the framework event BroadcastNotificationCreated and payload {cheque_log_id, type, id}. No public or presence channels. On receipt the browser increments the bell badge by one; details are read from the notifications page as usual.

Settings

Settings → General settings → Pusher tab (visible with Manage integrations):

Field Note
Enable Pusher off ⟹ broadcasting falls back to log (nothing is sent)
Broadcast connection Pusher · Log · Null
Use TLS recommended in production
App ID · App Key · App Secret · Cluster from the Pusher dashboard — the secret is write-only after saving
Host (optional) · Port (optional) · Scheme for a self-hosted Pusher-compatible server

The settings table is the source (not .env), read at boot. Double guard: enable off or incomplete credentials ⟹ connection log. The channel status line in the Notifications tab says it: “In-app bell: always on · Live push: disabled (no broadcast server configured) · Email: …”.

What the server needs

Broadcasting goes through the queue. A standard installation runs the scheduler only, no queue worker; so without queue:work events pile up as rows and are never broadcast while the screen says “enabled”. When enabling Pusher on a production installation, run a queue worker as a service (or set the queue connection to sync) — coordinated by the installation team.

The browser loads pusher.min.js from a CDN and subscribes to the user channel — and requires Cluster to be set (a self-hosted server with a host and no cluster broadcasts to nobody).

Effect of absence

Nothing breaks: database notifications, the bell and email all work — broadcasting is added only when the driver is real. The only loss: the badge does not increment live in an open tab.

Common problems

  • Saving is refused unless the secret is retyped — in releases before 1.8.0: retype App Secret on every save; from 1.8.0 an empty field keeps the stored secret.
  • Enabled but nothing arrives — no queue worker, empty Cluster, or wrong credentials (check the Pusher dashboard).
  • Works on one machine and not another — the channel is per user; the other user is not a target of the notification (visibility scope).
اطلب نسختك التجريبية مجانًا