-
Couldn't load subscription status.
- Fork 4
[PUB-1827] Add Objects spec for subscriptions #346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
01b4bec to
2963300
Compare
The correct behaviour wasn't clear from the spec when I wrote cb427d8, but new spec PR [1] makes it seem that this is the right thing to do (still needs clarifying though). [1] ably/specification#346
TODO test TODO call listeners on SDK's callback queue Based on [1] at 2963300. Implementation written by me [1] ably/specification#346
The correct behaviour wasn't clear from the spec when I wrote cb427d8, but new spec PR [1] makes it seem that this is the right thing to do (still needs clarifying though). [1] ably/specification#346
Motivation as in 3f6de86; the new spec points in [1] tell us these can throw. [1] ably/specification#346
Based on [1] at 2963300. pretty much all done by me, only a bit of dependency injection test updates were done by cursor for now don't test replaceData return value since not specified TODO need to sort out the weird @SPEC(…) that were added in OBJECT_SYNC Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. [1] ably/specification#346
Based on [1] at 2963300. pretty much all done by me, only a bit of dependency injection test updates were done by cursor for now don't test replaceData return value since not specified Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. [1] ably/specification#346
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
The correct behaviour wasn't clear from the spec when I wrote cb427d8, but new spec PR [1] makes it seem that this is the right thing to do (still needs clarifying though). [1] ably/specification#346
Motivation as in 3f6de86; the new spec points in [1] tell us these can throw. [1] ably/specification#346
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
The correct behaviour wasn't clear from the spec when I wrote cb427d8, but new spec PR [1] makes it seem that this is the right thing to do (still needs clarifying though). [1] ably/specification#346
Motivation as in 3f6de86; the new spec points in [1] tell us these can throw. [1] ably/specification#346
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
The correct behaviour wasn't clear from the spec when I wrote cb427d8, but new spec PR [1] makes it seem that this is the right thing to do (still needs clarifying though). [1] ably/specification#346
Motivation as in 3f6de86; the new spec points in [1] tell us these can throw. [1] ably/specification#346
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
| unsubscribe((LiveObjectUpdate) ->) // RTLO4c | ||
| unsubscribeAll() // RTLO4d | ||
|
|
||
| interface LiveObjectSubscription: // RTLO4b5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| interface LiveObjectSubscription: // RTLO4b5 | |
| interface ObjectsSubscription: // RTLO4b5 |
Athough, we have a LiveObject class, it's internal and we chose not to use this naming convention right?
I think we can have a common interface that implements unsubscribe for all type of subscribe or on methods
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Athough, we have a LiveObject class, it's internal and we chose not to use this naming convention right?
The LiveObject interface is exposed in ably-js implementation and the naming convention is correct in this case. This is a "live object" - an object whose data is synced in realtime - and its name only coincidentally resembles the name of the LiveObjects feature.
The LiveObjectSubscription in this case represents a subscription for a LiveObject instance, so I think the name should remain as it is.
I think we can have a common interface that implements unsubscribe for all type of subscribe or on methods
The current API uses the subscribe/unsubscribe and on/off naming pairs, so for .on methods the returned object should expose .off() method I think.
The correct behaviour wasn't clear from the spec when I wrote cb427d8, but new spec PR [1] makes it seem that this is the right thing to do (still needs clarifying though). [1] ably/specification#346
Motivation as in 3f6de86; the new spec points in [1] tell us these can throw. [1] ably/specification#346
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
Based on [1] at 2963300. Have not implemented RTL04b1's channel mode checking for same reason as mentioned in 8d881e2. Have not currently tested `replaceData`'s return value; will do once [2] clarified. [1] ably/specification#346 [2] https://github.com/ably/specification/pull/346/files#r2201363446
38a7dfa to
875d7ac
Compare
2963300 to
c63992b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
875d7ac to
7ccb26d
Compare
Resolves PUB-1827
c63992b to
46888e4
Compare
Resolves PUB-1827