-
Notifications
You must be signed in to change notification settings - Fork 166
Open
Labels
[Type] BugUsed for issues where something is not functioning as intended.Used for issues where something is not functioning as intended.
Description
Description
I have noticed several "unknown message types" in the Xcode terminal:
2025-11-27 15:38:12.525456+0200 podcasts[16773:2771646] WatchManager: Unknown message type: downloadRequest
2025-11-27 15:38:31.388703+0200 podcasts[16773:2771728] WatchManager: Unknown message type: filterRequest
The functionality works on the Watch app (i.e. I can see the downloads and filters populate). The reason for this is the following code block:
pocket-casts-ios/podcasts/WatchManager.swift
Lines 210 to 236 in eea091b
| func session(_ session: WCSession, didReceiveMessage message: [String: Any], replyHandler: @escaping ([String: Any]) -> Void) { | |
| guard let messageType = message[WatchConstants.Messages.messageType] as? String else { | |
| FileLog.shared.addMessage("WatchManager: Received message without messageType (with reply handler)") | |
| replyHandler([String: Any]()) | |
| return | |
| } | |
| if WatchConstants.Messages.FilterRequest.type == messageType { | |
| if let filterUuid = message[WatchConstants.Messages.FilterRequest.filterUuid] as? String { | |
| let response = handlePlaylistRequest(playlistUuid: filterUuid) | |
| replyHandler(response) | |
| } | |
| } else if WatchConstants.Messages.DownloadsRequest.type == messageType { | |
| let response = handleDownloadsRequest() | |
| replyHandler(response) | |
| } else if WatchConstants.Messages.UserEpisodeRequest.type == messageType { | |
| let response = handleUserEpisodeRequest() | |
| replyHandler(response) | |
| } else if WatchConstants.Messages.LoginDetailsRequest.type == messageType { | |
| let response = handleLoginDetailsRequest() | |
| replyHandler(response) | |
| } | |
| // send blank response to messages we don't know about or for things we can't find info on | |
| FileLog.shared.addMessage("WatchManager: Unknown message type: \(messageType)") | |
| replyHandler([String: Any]()) | |
| } |
We should return after each reply handler is called (as the first one does), or put the unknown case in an else block. The log message is harmless, albeit confusing, but we are also sending an unnecessary empty message to the watch, which may or may not cause issues if delivered out of order.
Step-by-step reproduction instructions
- Open watch app
- Click on "Phone"
- Click on "Downloads"
- The downloads will appear, but phone logs will also report "WatchManager: Unknown message type: downloadRequest"
Screenshots or screen recording
No response
Did you search for existing bug reports?
- I have searched for existing bug reports.
Device, Operating system, and Pocket Casts app version
iPhone 14 Pro, iOS 26.1, Pocket Casts 8.1.0.0
Metadata
Metadata
Assignees
Labels
[Type] BugUsed for issues where something is not functioning as intended.Used for issues where something is not functioning as intended.