Skip to content

Commit 7d50099

Browse files
committed
Fixed channel identifier check for type ping
1 parent f3dfd6f commit 7d50099

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

Sources/ActionCableSwift/ACChannel.swift

+7-7
Original file line numberDiff line numberDiff line change
@@ -170,21 +170,21 @@ public class ACChannel {
170170
guard let self = self else { return }
171171
self.channelSerialQueue.async {
172172
let message = ACSerializer.responseFrom(stringData: text)
173-
guard message.channelName == self.channelName else { return }
174-
switch message.type {
175-
case .confirmSubscription:
173+
let sameChannelName = message.channelName == self.channelName
174+
switch (message.type, sameChannelName) {
175+
case (.confirmSubscription, true):
176176
self.isSubscribed = true
177177
self.executeCallback(callbacks: self.onSubscribe, message: message)
178178
self.flushBuffer()
179-
case .rejectSubscription:
179+
case (.rejectSubscription, true):
180180
self.isSubscribed = false
181181
self.executeCallback(callbacks: self.onRejectSubscription, message: message)
182-
case .cancelSubscription:
182+
case (.cancelSubscription, true):
183183
self.isSubscribed = false
184184
self.executeCallback(callbacks: self.onUnsubscribe, message: message)
185-
case .message:
185+
case (.message, true):
186186
self.executeCallback(callbacks: self.onMessage, message: message)
187-
case .ping:
187+
case (.ping, _):
188188
self.client?.pingRoundWatcher.ping()
189189
self.executeCallback(callbacks: self.onPing)
190190
default: break

0 commit comments

Comments
 (0)