You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added onReceive callbacks to accept or decline incoming messages, requests, and responses based on payload size, sender, or metadata. Callbacks can return a boolean or a promise; large payloads wait for approval before sending their contents.
Added maxReceiveBytes to room config, with a default receive budget of 256 MiB. Concurrent large transfers queue automatically when the budget is occupied.
Reduced idle resource use by creating connection offers on demand instead of keeping prewarmed peer connections.
🐦 Nostr - updated default relays and improved subscription retries and discovery recovery after relay reconnects.
📡 MQTT - batched subscriptions and updated the default relay list.
🔌 WebSocket relay - added configurable topic and subscription limits to prevent resource exhaustion.
Fixes
Peers now recover more reliably from missed signaling messages, with automatic offer retries and replayed answers.
Fixed stale peers after quick room rejoins, failed sends, and long idle periods.
Fixed stream removal, track replacement, and media delivery when rejoining rooms that share peer connections.
Fixed renegotiation conflicts and stale offers that could interrupt established connections.
🌊 Torrent - fixed slow connection setup and stale offers, while preserving support for delayed STUN/TURN candidates.
⚡️ Supabase - rooms now use the correct project URL and key when connecting to multiple projects.
Hardened incoming data and ICE candidate handling with bounded queues, payload validation, and cleanup of stalled transfers. Thanks to @seyung56-hue for reporting.
⚠️ Breaking changes
Incoming payloads now have a default limit of 256 MiB. Set maxReceiveBytes to a larger value if your app receives larger files.
The action wire format has changed internally. Upgrade all peers communicating with each other to the latest package version.