Full Changelog: 2.28.0...2.29.0
What's Changed
- Add
PresenceMessage.memberKey, the key that uniquely identifies a presence member by itsconnectionIdandclientId#2302 - Respond to server
PINGprotocol messages with aPONG, and requestheartbeats=bouncein browsers, React Native and NativeScript. Liveness is now confirmed by the SDK itself rather than by the underlying WebSocket, which can keep answering ping frames while the app is suspended #2307 - Fix IPv6 hosts missing their square brackets in constructed URIs #2300
- Reject annotation publish and delete calls that are missing a
type#2299 - LiveObjects: fail a pending
get()sync wait when the channel entersDETACHED,SUSPENDEDorFAILED, rather than waiting indefinitely #2284 - LiveObjects: suppress update events for no-op diffs, and skip the sync wait when resolving an empty synthetic list #2288
- LiveObjects: report error 92000 with HTTP status 400 rather than 500 #2290