Laravel Echo not receiving Reverb events in React TypeScript application

Setup Details:

Problem:
I have a React TypeScript frontend using Laravel Echo to connect to a separate Laravel backend API. The Reverb connection gets established successfully and channels are being subscribed to without authentication issues.

However, when I dispatch events from the Laravel backend, my React frontend never receives them. This happens with both private and public channels. The Reverb debug console only shows ping messages like this:

Message Received
{
    "event": "pusher:ping", 
    "data": []
}

What I’ve tried:

  1. Set up Laravel Reverb on the backend
  2. Added channel authorization rules in routes/channels.php
  3. Started Reverb with: php artisan reverb:start --host=127.0.0.1 --port=8001 --debug
  4. Configured Laravel Echo in React app
  5. Tested listening on private channels

Any guidance on proper setup would be appreciated, including a complete configuration walkthrough if possible.

have u checked your .env file? make sure the BROADCAST_DRIVER is set to REVERB. also, ensure ur event classes use the ShouldBroadcast interface. maybe log the events in laravel to see if they are firing correctly. good luck!

I encountered a similar issue when setting up Reverb with a React frontend. The problem often lies in the Echo configuration rather than the Laravel side. Double-check your Echo pusher configuration in React - specifically ensure the wsHost points to your Reverb server and the wsPort matches port 8001. Also verify that forceTLS is set to false for local development. Another common culprit is CORS configuration in your Laravel app. Make sure your config/cors.php includes your React dev server origin (localhost:5173). When debugging, try listening to the raw pusher connection events first before your custom events to confirm the pipeline works end-to-end.

interesting setup! are you actually triggering the events from your laravel backend? like calling event(new YourEvent()) somewhere in your code? also curious - what does your reverb config look like in config/broadcasting.php? sometimes the issue is the event isn’t being dispatched at all rather than a connection problem.