WhatsMine Documentation
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
  • Integrations

    • Integrations Overview
    • Meta / WhatsApp Business
    • Messenger & Instagram
    • SMS Providers
    • AI Providers
    • Payments (Stripe, PayPal & Paddle)
    • Social Networks
    • Google (Workspace & Places)
    • E-commerce (Shopify, WooCommerce, BigCommerce)
    • Email / SMTP
    • Real-time & Push Notifications
    • Storage

Real-time & Push Notifications

Two related but separate things keep WhatsMine feeling instant:

  • Real-time — live updates inside the app (new inbox messages, typing indicators, unread badges).
  • Push notifications — browser/device alerts when the app isn't open.

Real-time (Pusher or Reverb)

Live updates use WebSockets. You have two options.

Option A — Pusher (hosted, easiest)

Admin location: Admin → Real-time Settings (/admin/pusher-settings)

  1. Create a free app at pusher.com (Channels product).
  2. Copy its App ID, Key, Secret and Cluster.
  3. Enter them in Admin → Real-time Settings and enable real-time.
  4. Click Test to confirm.

📸 Screenshot: The Real-time (Pusher) settings page.

You can also set these in .env (PUSHER_* and VITE_PUSHER_*) and BROADCAST_CONNECTION=pusher.

Option B — Reverb (self-hosted, no third party)

Laravel Reverb runs your own WebSocket server. Set BROADCAST_CONNECTION=reverb, configure the REVERB_* variables, and run the server as a supervised process:

php artisan reverb:start --host=0.0.0.0 --port=8080

Proxy a WebSocket subdomain to it via your web server. See Deployment.

Which should I choose?

Pusher is the quickest path and needs no extra server process. Reverb avoids a third-party dependency and ongoing cost, at the price of running and scaling the WebSocket server yourself. Both deliver the same in-app experience.

If real-time isn't configured, the app still works — it just won't update live; users see new messages on refresh.

Push notifications

WhatsMine supports browser push so users get alerted even when the tab is closed.

Web Push (built-in, free)

  1. Generate VAPID keys:
    php artisan webpush:vapid
    
  2. Add the generated VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY to .env.

Users then enable browser notifications from their notification preferences.

OneSignal (optional)

For richer push, add OneSignal:

ONESIGNAL_APP_ID=your-app-id
ONESIGNAL_REST_API_KEY=your-rest-key

Firebase (optional)

Firebase web push is configured in Admin → Settings → Firebase (API key, auth domain, project ID, app ID). See Branding & Settings.

➡️ Next: Storage.

Last Updated: 6/19/26, 4:34 PM
Prev
Email / SMTP
Next
Storage