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
Remove unsubscribe(listener) from LiveObject/PathObject/Instance
`Subscription` (returned by `subscribe`) is now the sole
deregistration mechanism, matching the ably-js public API.
RTLO4c is retained as a "This clause has been deleted" stub since
it existed on main; RTPO20 and RTINS17 are removed outright as
they were introduced earlier in this PR branch. The corresponding
`unsubscribe` declarations are also removed from the IDL.
Lifted from Sachin's spec-alignment PR [1].
[1] #480
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: specifications/objects-features.md
+5-14Lines changed: 5 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -343,11 +343,11 @@ Objects feature enables clients to store shared data as "objects" on a channel.
343
343
-`(RTLO4b5b)` This clause has been replaced by [RTLO4b7](#RTLO4b7)
344
344
-`(RTLO4b7)` Returns a [`Subscription`](../features#SUB1) object
345
345
-`(RTLO4b6)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
346
-
-`(RTLO4c)``unsubscribe` - unsubscribes a previously registered listener
347
-
-`(RTLO4c1)` This operation does not require any specific channel modes to be granted, nor does it require the channel to be in a specific state
348
-
-`(RTLO4c2)`A user may provide a listener they wish to deregister from receiving data updates for this `LiveObject`
349
-
-`(RTLO4c3)`Once deregistered, subsequent data updates for this `LiveObject` must not result in the listener being called
350
-
-`(RTLO4c4)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
346
+
-`(RTLO4c)`This clause has been deleted
347
+
-`(RTLO4c1)` This clause has been deleted
348
+
-`(RTLO4c2)`This clause has been deleted
349
+
-`(RTLO4c3)`This clause has been deleted
350
+
-`(RTLO4c4)` This clause has been deleted
351
351
-`(RTLO4a)` protected `canApplyOperation` - a convenience method used to determine whether the `ObjectMessage.operation` should be applied to this object based on a serial value
352
352
-`(RTLO4a1)` Expects the following arguments:
353
353
-`(RTLO4a1a)``ObjectMessage`
@@ -933,9 +933,6 @@ A `PathObject` is obtained from `RealtimeObject#get` ([RTO23](#RTO23)), which re
933
933
-`(RTPO19d2)``message``PublicAPI::ObjectMessage` (optional) - if `LiveObjectUpdate.objectMessage` from the [RTLO4b4](#RTLO4b4) emission that triggered this event is populated and its `operation` field is populated, a `PublicAPI::ObjectMessage` ([PAOM1](#PAOM1)) derived from it per [PAOM3](#PAOM3); otherwise omitted
934
934
-`(RTPO19e)` Adds a subscription to the `RealtimeObject`'s `PathObjectSubscriptionRegister` ([RTO24](#RTO24)) with subscribed path equal to this `PathObject`'s `path` (per [RTPO2a](#RTPO2a)), the provided `listener`, and the provided `options.depth`
935
935
-`(RTPO19f)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
936
-
-`(RTPO20)``PathObject#unsubscribe` function:
937
-
-`(RTPO20a)` Accepts a `listener` argument and deregisters it from receiving further events for this `PathObject`'s path
938
-
-`(RTPO20b)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
939
936
940
937
### Instance
941
938
@@ -1005,9 +1002,6 @@ An `Instance` holds a direct reference to a specific resolved `LiveObject` or pr
1005
1002
-`(RTINS16e)` Returns a [`Subscription`](../features#SUB1) object
1006
1003
-`(RTINS16f)` The subscription is identity-based: it follows the specific `LiveObject` instance, regardless of where it sits in the tree
1007
1004
-`(RTINS16g)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
1008
-
-`(RTINS17)``Instance#unsubscribe` function:
1009
-
-`(RTINS17a)` Accepts a `listener` argument and deregisters it from receiving further events using `LiveObject#unsubscribe` ([RTLO4c](#RTLO4c))
1010
-
-`(RTINS17b)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
1011
1005
1012
1006
### PublicAPI::ObjectMessage
1013
1007
@@ -1089,7 +1083,6 @@ Types and their properties/methods are public and exposed to users by default. A
0 commit comments