1
Broadcaster. Reverb, Pusher, Ably or a Mercure hub. Echo's broadcaster option and the VITE_* keys choose which.
2
Socket, one per tab, in blue. pusher-js carries the Pusher protocol; Mercure uses the browser's own EventSource.
3
Echo instance. window.Echo = new Echo({...}) in resources/js. socketId() tags your own requests for toOthers().
4
Subscription. Echo.channel, Echo.private, Echo.encryptedPrivate, or Echo.join for presence: here, joining, leaving.
5
Authorisation. Private and presence subscriptions POST to /broadcasting/auth; routes/channels.php says yes or no.
6
Listener. .listen('OrderShipped', cb); .listenForWhisper for client events. useEcho hooks leave the channel on unmount.