@@ -127,7 +127,14 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
127127
128128 status = . connecting
129129
130- manager. connectSocket ( self )
130+ joinNamespace ( )
131+
132+ if manager. status == . connected && nsp == " / " {
133+ // We might not get a connect event for the default nsp, fire immediately
134+ didConnect ( toNamespace: nsp)
135+
136+ return
137+ }
131138
132139 guard timeoutAfter != 0 else { return }
133140
@@ -183,7 +190,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
183190 DefaultSocketLogger . Logger. log ( " Closing socket " , type: logType)
184191
185192 leaveNamespace ( )
186- didDisconnect ( reason: " Disconnect " )
187193 }
188194
189195 /// Send an event to the server, with optional data items.
@@ -366,21 +372,15 @@ open class SocketIOClient : NSObject, SocketIOClientSpec {
366372 /// Call when you wish to leave a namespace and disconnect this socket.
367373 @objc
368374 open func leaveNamespace( ) {
369- guard nsp != " / " else { return }
370-
371- status = . disconnected
372-
373375 manager? . disconnectSocket ( self )
374376 }
375377
376378 /// Joins `nsp`.
377379 @objc
378380 open func joinNamespace( ) {
379- guard nsp != " / " else { return }
380-
381381 DefaultSocketLogger . Logger. log ( " Joining namespace \( nsp) " , type: logType)
382382
383- manager? . engine ? . send ( " 0 \( nsp ) " , withData : [ ] )
383+ manager? . connectSocket ( self )
384384 }
385385
386386 /// Removes handler(s) for a client event.
0 commit comments