heartfin / harbour-sailfin

Play media from your Jellyfin server on your Sailfish OS device
https://heartfin.github.io/harbour-sailfin/
GNU Lesser General Public License v2.1
20 stars 2 forks source link

After closure and re-opening, Sailfin does not show content anymore #16

Open Glotzon opened 3 years ago

Glotzon commented 3 years ago

Devices: Xperia X, XA2 Ultra, 10 Plus and 10 II OS Version: SailfishOS 4.2.0.21 Sailfin Version: 0.4.0-1 Issue: After closure and re-opening, Sailfin does not show content anymore. The UI loads as expected, but no content shown.

Expected behaviour: Media is still shown and useable,

If there is any way I could contribute to fixing this issue. please let me know.

HenkKalkwater commented 3 years ago

Are you by any chance connectimg over HTTPS? For some reason, I've observed something in Qt's HTTP stack getting into a deadlock while connecting over HTTPS before, but I couldn't figure out why.

Op Donderdag 14 oktober 2021 schreef Kobold:

Devices: Xperia X, XA2 Ultra, 10 Plus and 10 II OS Version: SailfishOS 4.2.0.21 Sailfin Version: 0.4.0-1 Issue: After closure and re-opening, Sailfin does not show content anymore. The UI loads as expected, but no content shown.

Expected behaviour: Media is still shown and useable,

If there is any way I could contribute to fixing this issue. please let me know.

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/HenkKalkwater/harbour-sailfin/issues/1

Glotzon commented 3 years ago

Good guess, yes I do.

Sailfin seems to be the only viable options to have a Jellyfin Client on a perfectly good Xperia X, would be nice if that would work.

HenkKalkwater commented 3 years ago

I've tested this and I can reproduce this in the SailfishOS version reliably, but not on the desktop. That either means that the SailfishOS QML side does something that it shouldn't do (like reloading ItemLoaders too fast) or that on SailfishOS there is a bug within the QNetworkAccessManager and related classes in the ancient version of Qt it uses, which is no longer present in Qt 5.15.

I'll look into this later.

HenkKalkwater commented 2 years ago

Finally I can confirm that this is caused by a bug within the Qt version in SailfishOS, backporting this patch seems to solve it. Sadly, I'm afraid that I cannot contribute this back into Sailfish due to licensing issues with Qt versions above 5.6, but I'll ask around to be sure.

The workaround introduced in Sailfin 0.4.1, which waits 250ms before sending more HTTPS requests after the first, for me reduces the chance of an application freeze to 50% (from 100%). There should probably be a better way to prevent the application from freezing, such as by only allowing 1 HTTPS request to be active at the time, although this would potentially cause the application to load longer.

HenkKalkwater commented 2 years ago

Pull-request-status: https://github.com/sailfishos/qtbase/pull/11

mbarashkov commented 10 months ago

Hi @HenkKalkwater In my tests of my Aurora OS fork of the app, I've found that it's the WebSocket which creates the issue. Once I disable it (without creating critical loss of the functionality), it works all right.

HenkKalkwater commented 10 months ago

Thanks for your insight. Sadly, disabling the WebSocket is not an option with the recently merged remote control feature, but I can, in a very hacky way, delay the WebSocket initialisation by 5 seconds. This works as well (for me™), but may fail with slow network connections.