-
Notifications
You must be signed in to change notification settings - Fork 26
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
No-connection-serial implementation #1496
Conversation
Including all references. Also some tests has been removed as new spec rendered them useless. Some methods with connection serial parameters are refactored to function without it. Subsequent commit will make any change that's necessary, following the spec document
Also remove _lastPayloadProtocolMessageChannelSerial and perform updates based on RTL15b
This is RTN15c6. Also removes RTN15c3 (that will be replaced by RTN15c7 later)
This also refactors reattach behaviour for RTN15c6 and RTN15c7
Also implement RTN16f, RTN16j and potentially RTN16i. Also updated the references to the recovery key so that key is now a JSON string
Also add fromJson method and turn toJson into a method. I did not throw exception in case of serialization / deserialization failure and instead logged the error
As described in RTN16g getRecoveryKey() will return a string rather than an object. Object will be used only internally
As described in RTN16k. Also recovery key is being used as provided by client options and not from connection
As described in RTL4c1
As described with RTP5a1, Switch branch seems a bit fragile here with some returns for some cases - Needs to re-checked
As described in RTP17f. However the method of reentry needs to be checked to see if it should rather be through event emitter. There are so many redirections in this repo
As described in RTP17g. Also remove reentries on sync and sync completion. I might need to check whether reentry can be invoked from presenceMap
It was marked as nonull instead of nonatomic
Was calling state directly which caused data race issues
…connections to assert against version 2.0
c00b0b6
to
4c5fd67
Compare
857efcb
to
4c5fd67
Compare
…tion_time_serial # Conflicts: # Source/ARTRealtime.m # Source/ARTRealtimeChannel.m # Source/PrivateHeaders/Ably/ARTRealtimeChannel+Private.h # Source/PrivateHeaders/Ably/ARTWebSocketTransport+Private.h
0b58eee
to
9708959
Compare
@lawrence-forooghian I've incorporated |
…tion_time_serial # Conflicts: # Source/ARTRealtime.m # Source/ARTWebSocketTransport.m # Source/PrivateHeaders/Ably/ARTWebSocketTransport.h
Thanks @maratal, I'll take a look at it. As for your question, it's called
That's correct. That means that it is not appropriate to use Does that help? |
Source/ARTRealtime.m
Outdated
[self.logger warn:@"RT:%p connection \"%@\" has resumed with non-fatal error \"%@\"", self, message.connectionId, message.error.message]; | ||
[self resetSerials]; | ||
} | ||
else if (response.type == ARTResumeRequestResponseTypeFatalError || response.type == ARTResumeRequestResponseTypeTokenError) { |
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.
Why not a switch
here?
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.
Good point, but I'm rewriting this piece anyway.
.github/workflows/check-pod.yaml
Outdated
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.
Why have all of the workflows been deleted on this branch?
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.
I temporarily remove other workflows to not to wait while all of them finish when I try things (yes, I should move PR to draft in this case, but here I needed some feedback from you).
…tion_time_serial # Conflicts: # Source/ARTPresenceMap.m # Source/ARTRealtime.m # Source/ARTRealtimeChannel.m # Source/ARTWebSocketTransport.m # Source/PrivateHeaders/Ably/ARTConnection+Private.h # Source/PrivateHeaders/Ably/ARTProtocolMessage+Private.h # Source/PrivateHeaders/Ably/ARTRealtime+Private.h # Source/PrivateHeaders/Ably/ARTRealtimeChannel+Private.h # Source/PrivateHeaders/Ably/ARTRealtimePresence+Private.h # Source/PrivateHeaders/Ably/ARTRealtimeTransport.h # Source/PrivateHeaders/Ably/ARTWebSocketTransport.h # Source/include/Ably/ARTProtocolMessage.h
29c21c1
to
5ad2f43
Compare
…tion_time_serial # Conflicts: # Source/ARTRealtime.m # Source/ARTWebSocketTransport.m # Source/PrivateHeaders/Ably/ARTRealtimeTransport.h # Test/Tests/RealtimeClientConnectionTests.swift
…tion_time_serial # Conflicts: # .github/workflows/integration-test-iOS16_2.yaml # .github/workflows/integration-test-tvOS16_1.yaml # Source/ARTRealtime.m # Source/PrivateHeaders/Ably/ARTRealtimeTransport.h # Test/Tests/RealtimeClientChannelTests.swift # Test/Tests/RealtimeClientConnectionTests.swift # Test/Tests/RealtimeClientPresenceTests.swift
…tion_time_serial # Conflicts: # Source/ARTRealtimeTransportFactory.m # Source/ARTWebSocketTransport.m # Source/PrivateHeaders/Ably/ARTWebSocketTransport.h # Test/Test Utilities/TestProxyTransportFactory.swift # Test/Test Utilities/TestUtilities.swift
Closing this — replaced by #1714. |
No connection-serial implementation for ably-cocoa
Closes #1494
This also includes changes here
However, in ably-cocoa there is no mandatory version param for rest request so no change there.