Dimillian / IceCubesApp

A SwiftUI Mastodon client
https://apps.apple.com/us/app/ice-cubes-for-mastodon/id6444915884
GNU Affero General Public License v3.0
5.29k stars 490 forks source link

Media continues to play when not in focus #386

Open reconbot opened 1 year ago

reconbot commented 1 year ago

I write this issue while listening to a video from a status of mine. I noticed it’s playing in a “favorite” notification but I was unable to pause it. I’ve navigated to settings/GitHub and it’s still playing. Refreshing the notification list doesn’t stop it from playing either. I was able to start playing a second instance of this video as well.

LorenAmelang commented 1 year ago

Mine this morning, with 1.0.11, was a bit weirder... This post appeared in my timeline:

https://mastodon.lol/@janusrose/109748096934229247

I scrolled down and tapped the Twitter link:

https://twitter.com/janusrose/status/1617997367558668288

It opened in a browser window. I ignored the Twitter "Use the app" dialog, didn't choose either option. Tapped Play and it played. Closed back to the IceCubes post and it still played! Poked around all over IceCubes and the nasty siren still played! Hard killed IceCubes - still played. Hard killed Safari (no sign of it there) and other apps - still played. Finally had to turn the iPhone (SE2020, 16.2) completely off!

Is there some way to kill such bits of rogue code that won't die with the app that created them?

jwhitley commented 1 year ago

Same as prior comment in 1.1.2. Another repro example, same steps as above:

https://mastodon.social/@rands/109763992096939372

Based on the same bug in other apps, it’s probably that the SFSafariViewController in SafariRouter.swift isn’t getting cleaned up properly when the user closes the dialog with the “Done” button.

jwhitley commented 1 year ago

Super quick take, this probably needs to add .onDisappear in SafariRouter.body().

LorenAmelang commented 1 year ago

In 1.1.3 I watched the linked video in this post: https://mastodon.world/@faustosterling/109763929234938403

It ended, I closed back to my timeline, read for maybe a half hour with no odd events. Switched to a different instance, read some more...

Clicked the Quanta Magazine link in this post: https://neuromatch.social/@skarthik/109763492531363230

It opened for a flash in non-reader mode and then switched to reader - and began playing audio from what sounded like a news channel on YouTube! That lasted for a minute or so, they were just concluding whatever it was and signing off.

No more audio appeared, but my default on YouTube is not to automatically play the next algorithm hit. I tried a few more times to open timeline web links, and didn't trigger any more audio. But is some code fragment sitting out there waiting to be triggered by whatever started the first audio?

jonathankoren commented 1 year ago

Still occurs in 1.6.15 . Essentially any media play will get multiple copies running simultaneously, with no controls nor obvious way to stop it.

Okkarator commented 1 year ago

I just noticed this bug on iOS version 1.6.15 too.