Skip to main content

Auto-subscribe and broadcast messaging

· 2 min read

The latest Hotsock releases include automatic channel subscription on connect and broadcast messaging to unsubscribed channels, making it easier to build real-time applications with reduced client-side complexity.

Automatic channel subscriptions

In Hotsock v1.7, you can now automatically subscribe to channels upon connection using the new autoSubscribe claim. This eliminates the need for a separate subscribe step when a connection always needs access to specific channels.

To automatically subscribe to a channel, set autoSubscribe to true in your channel claims when issuing a connect token:

{
"exp": 1727107200,
"scope": "connect",
"channels": {
"user.123": {
"autoSubscribe": true
}
}
}

When the connection succeeds, the client will immediately receive a hotsock.subscribed message containing "autoSubscribed":true in its data payload, confirming the automatic subscription:

{
"event": "hotsock.subscribed",
"channel": "user.123",
"data": { "autoSubscribed": true },
"meta": { "uid": null, "umd": null }
}

This feature is particularly useful for:

  • User-specific channels where connections always need to receive messages for that user
  • Presence management where you need server-enforced presence detection immediately when clients connect
  • Reducing client complexity by eliminating the subscribe step for essential channels

Broadcasting to unsubscribed channels

Hotsock v1.6 introduced the broadcast claim, which allows clients to send messages to channels without being subscribed. This is perfect for telemetry, logging, or fire-and-forget messaging scenarios, especially when combined with storing messages!.

To enable broadcast messaging, set the broadcast claim to true for the specific message events:

{
"exp": 1727107200,
"scope": "connect",
"channels": {
"user.123.usage": {
"messages": {
"client-stats": {
"broadcast": true
}
}
}
}
}

With this configuration, clients can publish messages to the "user.123.usage" channel with the "client-stats" event without needing to subscribe to the channel first. This is supported for both WebSocket and client HTTP API messages.

Wrapping up

Existing installations with auto-update enabled are already running v1.7 and have access to these features today. Other installations can be manually updated at any time. A full changelog is available with the complete list of changes included in these releases.