Posts: 577
Joined: Apr 2014
Reputation:
10
Just want to add a minor observation. It’s really not a big deal but it looks like you can block the dismissal timer on toasts. Basically if you are in a scroll animation while a toast is visible the toast does not go away until scrolling stops. In my opinion scrolling should not block the toast dismissal timer.
Posts: 1,466
Joined: Mar 2018
Reputation:
30
Interesting finding. This is caused by the way how the timer is initialized, and gave me some learning. This timer, as all others as well, is running in a context which waits for dragging to end. I can add the timer to a different run loop context (NSRunLoopCommonModes) and this works. Question now is, shall I also change some of the other timers which are -- some since more than a decade -- running in potentially the wrong context? For example I was surprised to see that the server connection heartbeat also stops while dragging. The same happens with updates to NowPlaying while dragging (only possible on iPad though and of less relevance, as in this situation the NowPlaying screen is anyway only partially visible).
@kambala: I will raise a PR and we can discuss there.
Posts: 577
Joined: Apr 2014
Reputation:
10
2024-11-01, 00:30
(This post was last modified: 2024-11-01, 00:42 by amasephy. Edited 1 time in total.)
By the way, I still get the connection toast when I enter the app on resuming but now it’s seemingly random. Chances of it occurring increase as more time elapses between suspending and resuming the app. This is not how it was prior to the change to make connection instant.
It seems something is still at play here.
Edit: This may be related to your timer findings in code. If you are actively scrolling it pauses the progress label time in the now playing playlist on the currently playing item. Again, really minor.
Posts: 1,466
Joined: Mar 2018
Reputation:
30
Sounds like the very short timeout I needed to add is not enough to safely have the socket connection back before attempting to connect. Options are: increasing timeout or rework hooking up reconnection with a different iOS framework call. Thanks for reporting!
On the other issue you are exactly right.
Posts: 577
Joined: Apr 2014
Reputation:
10
Thanks Buschel. Light at the end of the tunnel for this release is very bright at this point.
The fast connect feature really is a huge improvement. Hopefully that sentiment is also reflected in the App Store. Your efforts deserve the praise.
Posts: 1,466
Joined: Mar 2018
Reputation:
30
I was not expecting this to make such a huge difference. But when testing older builds the connection time really feels like something is broken.
Btw, soon there will be another test build on the image cache topic. Potentially better scrolling performance, a lot less memory use and a bit less flash use. Would be great, if you play with this once available. I will share some notes on how to test and configure it.
Posts: 577
Joined: Apr 2014
Reputation:
10
Of course. Hopefully this addresses the global search scrolling issues I’ve discussed. 👍🏻
Posts: 1,466
Joined: Mar 2018
Reputation:
30
Yep, let's see. There was an additional scaling step (not chached, directly impacting scrolling) every time the image was not matching the targeted aspect ratio. And there is also an option to reduce the processing load further, but I want to have this tested. But finally, this could also just be caused by re-using the cells and changing their size each time.
Posts: 577
Joined: Apr 2014
Reputation:
10
UlfSchmidt I’ve definitely seen that before. From what I can remember there is no real fix for it. Different actions trigger different behaviors with it. For example, if you use the app to start media with the remote control and navigating Kodi server vs going into a library in the app and starting it directly from there. I know that causes different playlist behaviors.
Posts: 1,466
Joined: Mar 2018
Reputation:
30
Interesting. Most likely an effect caused by the App requesting playlist details while Kodi plays some video which is a special case (non playlist?). I remember you raised something similar related to splash videos some years back. I will try to reproduce. For the time being just remove the splash video or start the app later. 😉