[Cog 2848] Cog interface locks up when network media is unavailable (for each item in playlist) #392
Labels
No labels
2230
2243
App version
Apple OS errata
Apple SDK
bug
bugsnag
build
dlt
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: chris/Cog#392
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Describe
I'm playing music on an SMB share. The files linger on the Cog playlist after the share has disconnected (I may have restarted Cog in between). If I try to play one of these tracks, the UI of Cog locks up while it tries to access the file.
It's a bigger problem because Cog will cycle through the whole playlist trying, and I can't stop it because the UI is locked up. I have to Force Quit, reopen, and immediately clear the playlist.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The UI should remain responsive while Cog is trying to connect. If this is not possible, Cog should not try to play the next track after showing the error message.
Screenshots

Version information:*
That is a system dialog. I can’t even check if files still exist without incurring a delay and popup per file.
Ideal would be to do it on a different thread than the UI, but I guess that might be a grand change to make.
A workaround could be to stop playback on MacOS if a network file fails to play. It sounds annoying if you have a big playlist with just a file missing, but given the UI popup blocks Cog anyway then playback is already stopped until the user interacts.
The thing is, I can't tell from the path string that it's a network path, unless it's http or https via manually added stream paths. Network shares look just like local file mounts, and I have to ask for a bookmark to the file to access them after a restart. It is asking for this bookmark that triggers macOS trying to reconnect to the network share. Similarly, folder bookmarks work the same way, it tries to reconnect to the network share that the bookmark is located on.
I'm open to suggestions of how to better handle this, since bookmarks are fully opaque, and the file path is only something like
file:///Volumes/SomeShareFolderMountPoint/path/to/file
I suppose I could halt all playback the instant any path that starts with
/Volumes/
fails.And I can't really update the app right now anyway, no adequate Apple Silicon Mac in my possession. No Mac that runs anything newer than Big Sur, either, so I definitely can't run the latest Xcode.
I am also experiencing lockup when adding some files that are on a local attached drive.
It is a Samsung T9 drive, super fast. Attached direct on Thunderbolt 4.
As a separate test, I tried dropping a media folder of 200GB on Cog. One folder, lots of MP3s. Fast drive. And this causes the UI to lockup. Maybe there is a way to do these updates on a background thread with progress published to the UI, and then inside that thread maybe the loading operation can happen incrementally.