Skip to content

Commit 27337bd

Browse files
fix recover payload when network errors occurs
1 parent 2bcacae commit 27337bd

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

Source/SocketIO/Client/SocketIOClient.swift

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,16 @@ open class SocketIOClient: NSObject, SocketIOClientSpec {
8989
public private(set) var savedEvents = [SocketPacket]()
9090

9191
let ackHandlers = SocketAckManager()
92-
var connectPayload: [String: Any]?
92+
93+
private var _connectPayload: [String: Any]?
94+
var connectPayload: [String: Any]? {
95+
get {
96+
getConnectionStateRecoveryPayload(with: _connectPayload)
97+
}
98+
set {
99+
_connectPayload = newValue
100+
}
101+
}
93102

94103
private(set) var currentAck = -1
95104

@@ -140,11 +149,8 @@ open class SocketIOClient: NSObject, SocketIOClientSpec {
140149
return
141150
}
142151

143-
let payloadWithConnectionStateRecovery = getConnectionStateRecoveryPayload(with: payload)
144-
145152
status = .connecting
146-
147-
joinNamespace(withPayload: payloadWithConnectionStateRecovery)
153+
joinNamespace(withPayload: payload)
148154

149155
switch manager.version {
150156
case .three:
@@ -202,8 +208,8 @@ open class SocketIOClient: NSObject, SocketIOClientSpec {
202208

203209
status = .connected
204210

205-
handleClientEvent(.connect, data: payload == nil ? [namespace] : [namespace, payload!])
206211
handleSavedEventPackets()
212+
handleClientEvent(.connect, data: payload == nil ? [namespace] : [namespace, payload!])
207213
}
208214

209215
/// Called when the client has disconnected from socket.io.

0 commit comments

Comments
 (0)