Для этого надо использовать Presence-каналы (см.
https://laravel.com/docs/master/broadcasting#prese... ).
Presence-каналы - это те же приватные каналы, но в них дополнительно можно получить информацию о подключенных юзерах, а также отслеживать события "присоединения" и "отключения" юзеров от канала.
Пример:
Echo.join(`chat.${roomId}`)
.here((users) => {
console.log(users); // Получаем список всех юзеров
})
.joining((user) => {
console.log(user.name); // Кто-то подключился к каналу, можно сделать его 'online'
})
.leaving((user) => {
console.log(user.name); // Кто-то вышел из канала, можно сделать его 'offline'
});