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`
@@ -926,9 +926,6 @@ A `PathObject` is obtained from `RealtimeObject#get` ([RTO23](#RTO23)), which re
926
926
-`(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
927
927
-`(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`
928
928
-`(RTPO19f)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
929
-
-`(RTPO20)``PathObject#unsubscribe` function:
930
-
-`(RTPO20a)` Accepts a `listener` argument and deregisters it from receiving further events for this `PathObject`'s path
931
-
-`(RTPO20b)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
932
929
933
930
### Instance
934
931
@@ -998,9 +995,6 @@ An `Instance` holds a direct reference to a specific resolved `LiveObject` or pr
998
995
-`(RTINS16e)` Returns a [`Subscription`](../features#SUB1) object
999
996
-`(RTINS16f)` The subscription is identity-based: it follows the specific `LiveObject` instance, regardless of where it sits in the tree
1000
997
-`(RTINS16g)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
1001
-
-`(RTINS17)``Instance#unsubscribe` function:
1002
-
-`(RTINS17a)` Accepts a `listener` argument and deregisters it from receiving further events using `LiveObject#unsubscribe` ([RTLO4c](#RTLO4c))
1003
-
-`(RTINS17b)` This operation must not have any side effects on `RealtimeObject`, the underlying channel, or their status
1004
998
1005
999
### PublicAPI::ObjectMessage
1006
1000
@@ -1082,7 +1076,6 @@ Types and their properties/methods are public and exposed to users by default. A
0 commit comments