qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
28.07k stars 3.96k forks source link

Web UI's height equal to 0px on Safari #21703

Open arkandias opened 4 days ago

arkandias commented 4 days ago

qBittorrent & operating system versions

qBittorrent v5.0.0 WebUI (64-bit) running on Docker (linuxserver)

What is the problem?

Since v5.0.0, when I connect to the Web UI using Safari I only see the Header of the UI (that is the top menu and navigation bar). Looking into the CSS, the reason is the following:

<div id="pageWrapper" style="height: 0px;">

When I refresh, then the height is fixed (I get 100% of the view height), but it gets back to 0px whenever (e.g.) I save some changes from the Preferences menu. This bug does not appear on Chrome.

Steps to reproduce

Run linuxserver/qbittorrent container on Docker and connect to the Web UI using Safari.

Additional context

I'm using Safari 18.0.1 on macOS 15.0.1.

Capture d’écran 2024-10-28 à 19 37 00

Log(s) & preferences file(s)

qbittorrent.log

(N) 2024-10-28T18:57:57 - qBittorrent v5.0.0 started. Process ID: 147 (N) 2024-10-28T18:57:57 - Using config directory: /config/qBittorrent (N) 2024-10-28T18:57:57 - Trying to listen on the following list of IP addresses: "0.0.0.0:6881,[::]:6881" (I) 2024-10-28T18:57:57 - Peer ID: "-qB5000-" (I) 2024-10-28T18:57:57 - HTTP User-Agent: "qBittorrent/5.0.0" (I) 2024-10-28T18:57:57 - Distributed Hash Table (DHT) support: ON (I) 2024-10-28T18:57:57 - Local Peer Discovery support: OFF (I) 2024-10-28T18:57:57 - Peer Exchange (PeX) support: ON (I) 2024-10-28T18:57:57 - Anonymous mode: ON (I) 2024-10-28T18:57:57 - Encryption support: ON (I) 2024-10-28T18:57:57 - Successfully listening on IP. IP: "127.0.0.1". Port: "TCP/6881" (I) 2024-10-28T18:57:57 - Successfully listening on IP. IP: "127.0.0.1". Port: "UTP/6881" (I) 2024-10-28T18:57:57 - Successfully listening on IP. IP: "10.5.0.2". Port: "TCP/6881" (I) 2024-10-28T18:57:57 - Successfully listening on IP. IP: "10.5.0.2". Port: "UTP/6881" (I) 2024-10-28T18:57:57 - Successfully listening on IP. IP: "172.21.0.2". Port: "TCP/6881" (I) 2024-10-28T18:57:57 - Successfully listening on IP. IP: "172.21.0.2". Port: "UTP/6881" (I) 2024-10-28T18:57:57 - IP geolocation database loaded. Type: DBIP-Country-Lite. Build time: Tue Oct 1 02:47:11 2024. (N) 2024-10-28T18:57:57 - Using built-in WebUI. (N) 2024-10-28T18:57:57 - WebUI translation for selected locale (en) has been successfully loaded. (N) 2024-10-28T18:57:57 - WebUI: Now listening on IP: *, port: 8080 (I) 2024-10-28T18:57:57 - Detected external IP. IP: [REDACTED] (I) 2024-10-28T18:57:57 - Detected external IP. IP: [REDACTED] (N) 2024-10-28T18:57:58 - RSS feed at [REDACTED] is successfully downloaded. Starting to parse it. (N) 2024-10-28T18:57:58 - RSS feed at [REDACTED] updated. Added 0 new articles. (N) 2024-10-28T18:58:41 - WebAPI login success. IP: ::ffff:172.21.0.1 (I) 2024-10-28T19:03:23 - Found Python executable. Name: "python3". Version: "3.12.7" (N) 2024-10-28T19:03:57 - WebAPI login success. IP: ::ffff:172.21.0.1 (N) 2024-10-28T19:05:45 - WebAPI login success. IP: ::ffff:172.21.0.1 (N) 2024-10-28T19:34:20 - WebAPI login success. IP: ::ffff:172.21.0.1 (N) 2024-10-28T19:35:48 - WebAPI login success. IP: ::ffff:172.21.0.1

qBittorrent.conf

[Application] FileLogger\Age=1 FileLogger\AgeType=0 FileLogger\Backup=true FileLogger\DeleteOld=true FileLogger\Enabled=true FileLogger\MaxSizeBytes=66560 FileLogger\Path=/config/qBittorrent/logs

[AutoRun] OnTorrentAdded\Enabled=false OnTorrentAdded\Program= enabled=false program=

[BitTorrent] Session\AddTorrentStopped=false Session\AddTrackersEnabled=false Session\AdditionalTrackers= Session\AlternativeGlobalDLSpeedLimit=10000 Session\AlternativeGlobalUPSpeedLimit=1 Session\AnonymousModeEnabled=true Session\BTProtocol=Both Session\DefaultSavePath=/downloads/ Session\DisableAutoTMMByDefault=true Session\DisableAutoTMMTriggers\CategoryChanged=true Session\DisableAutoTMMTriggers\CategorySavePathChanged=true Session\DisableAutoTMMTriggers\DefaultSavePathChanged=true Session\ExcludedFileNames= Session\GlobalDLSpeedLimit=0 Session\GlobalMaxSeedingMinutes=0 Session\GlobalUPSpeedLimit=1000 Session\LSDEnabled=false Session\MaxActiveDownloads=50 Session\MaxActiveTorrents=50 Session\MaxActiveUploads=0 Session\MaxConnections=1000 Session\MaxUploads=-1 Session\MaxUploadsPerTorrent=-1 Session\Port=6881 Session\QueueingSystemEnabled=true Session\SSL\Port=30741 Session\ShareLimitAction=Stop Session\TempPath=/downloads/incomplete/ Session\TempPathEnabled=false Session\UseAlternativeGlobalSpeedLimit=false

[Core] AutoDeleteAddedTorrentFile=IfAdded

[LegalNotice] Accepted=true

[Meta] MigrationVersion=8

[Network] Cookies=@Invalid() PortForwardingEnabled=false Proxy\AuthEnabled=false Proxy\HostnameLookupEnabled=true Proxy\IP=127.0.0.1 Proxy\Password= Proxy\Port=8080 Proxy\Profiles\BitTorrent=true Proxy\Profiles\Misc=true Proxy\Profiles\RSS=true Proxy\Type=None Proxy\Username=

[Preferences] Advanced\RecheckOnCompletion=false Advanced\trackerPort=9000 Advanced\trackerPortForwarding=false Connection\PortRangeMin=6881 Connection\ResolvePeerCountries=true Connection\UPnP=false Downloads\SavePath=/downloads/ Downloads\TempPath=/downloads/incomplete/ DynDNS\DomainName=changeme.dyndns.org DynDNS\Enabled=false DynDNS\Password= DynDNS\Service=DynDNS DynDNS\Username= General\Locale=en MailNotification\email= MailNotification\enabled=false MailNotification\password= MailNotification\req_auth=true MailNotification\req_ssl=false MailNotification\sender=qBittorrent_notification@example.com MailNotification\smtp_server=smtp.changeme.com MailNotification\username= WebUI\Address= WebUI\AlternativeUIEnabled=false WebUI\AuthSubnetWhitelist=[REDACTED] WebUI\AuthSubnetWhitelistEnabled=true WebUI\BanDuration=3600 WebUI\CSRFProtection=true WebUI\ClickjackingProtection=true WebUI\CustomHTTPHeaders= WebUI\CustomHTTPHeadersEnabled=false WebUI\HTTPS\CertificatePath= WebUI\HTTPS\Enabled=false WebUI\HTTPS\KeyPath= WebUI\HostHeaderValidation=true WebUI\LocalHostAuth=false WebUI\MaxAuthenticationFailCount=5 WebUI\Password_PBKDF2=[REDACTED] WebUI\Port=8080 WebUI\ReverseProxySupportEnabled=false WebUI\RootFolder= WebUI\SecureCookie=true WebUI\ServerDomains= WebUI\SessionTimeout=3600 WebUI\TrustedReverseProxiesList= WebUI\UseUPnP=false WebUI\Username=[REDACTED]

[RSS] AutoDownloader\DownloadRepacks=true AutoDownloader\EnableProcessing=true AutoDownloader\SmartEpisodeFilter=s(\d+)e(\d+), (\d+)x(\d+), "(\d{4}[.\-]\d{1,2}[.\-]\d{1,2})", "(\d{1,2}[.\-]\d{1,2}[.\-]\d{4})" Session\EnableProcessing=true Session\RefreshInterval=720

qBittUser commented 4 days ago

Can you still reproduce after clearing browser cache and using recently released Safari 18.1 & qBittorrent v5.0.1?

arkandias commented 4 days ago

I cannot find a Docker container for BitTorrent v5.0.1. Regarding Safari, I just tried with 18.1 after clearing cache (also in private mode) and the bug is still there.

HanabishiRecca commented 4 days ago

Duplicate of #21426. Already fixed in 5.0.1 by #21506.

sledgehammer999 commented 4 days ago

You should use our official docker, which is at v5.0.1 and probably fixes your issue. If yes, come back and close this issue.

arkandias commented 3 days ago

I just switched for the official docker v5.0.1 (thanks @sledgehammer999), but the bug is still there (with Safari 18.1 in private mode, and after clearing cache). What additional info could I give you to look into this?

arkandias commented 3 days ago

Duplicate of #21426.

@HanabishiRecca Actually this was not the same bug: the bug in Safari is not that the horizontal separator between the two main panels is completely to the top (as is #21426), it is that the div which contains both has property height: 0px. See my screenshot vs the one in #21426.

HanabishiRecca commented 3 days ago

Actually this was not the same bug

Ok. Safari also was affected by that bug though. #21644

arkandias commented 3 days ago

Indeed: after refreshing the page with v5.0.0, so that the bug with the height: 0px disappeared, I also had to pull the horizontal separator. I can confirm that this is fixed with v5.0.1 (that is, when I refresh the page, I get a proper UI).

qBittUser commented 3 days ago

First you mentioned that v5.0.1 didn't fix, now you wrote refreshing page fixed it.

So if you can't reproduce anymore, then close this issue report?

arkandias commented 3 days ago

The problem is that I need to refresh the page (as I mentioned in my initial post):

When I refresh, then the height is fixed (I get 100% of the view height), but it gets back to 0px whenever (e.g.) I save some changes from the Preferences menu.

This is not such a big deal (indeed I just have to refresh the page every time I connect, or I change a setting), but it's still annoying and it can confuse people too (because if you do not refresh the page, the UI is unusable).

qBittUser commented 3 days ago

Well there was a comment written in that older issue report, that another pull request fixes some Safari related webUI issue.

https://github.com/qbittorrent/qBittorrent/issues/21426#issuecomment-2394992181

So maybe good if more Safari users would test development nightly builds of qBittorrent to confirm if master branch latest build includes necessary fix and if it does, then try older artifacts to know what exact pull request commit needs to be backported.

HanabishiRecca commented 3 days ago

I think your issue potentially could be fixed by #21464. But it's not in release yet.

Do you mind trying a nightly build of the current master? There are builds for Linux and Mac.

arkandias commented 3 days ago

Sure, I'll try the nightly and keep you posted.

arkandias commented 3 days ago

Actually, is there a docker version of the nightly?

HanabishiRecca commented 3 days ago

Unfortunately, no.

arkandias commented 3 days ago

When I try to run any of the app build for macOS on my macbook pro intel I get the following error: You can't open the application "qBittorrent.app" because it is not supported on this type of Mac

Am I missing something? I will try on another mac (M1) this weekend (right now I do not have access to it).

arkandias commented 3 days ago

Ok, the problem is indeed that these build are made for Apple Silicon macs (not Intel). Unless there is an Intel build, I will have to wait the end of the week to test the nightly.

HanabishiRecca commented 3 days ago

I know very little about macOS, so can't lend you a hand there. The official site states such requirement:

macOS Big Sur / Monterey / Ventura / Sonoma

Maybe that would be helpful.

Also

The macOS version is barely supported, because we don't have active macOS developers/contributors.

arkandias commented 3 days ago

So I just tested the docker alpha tag, and the bug is fixed! Not sure if this is the same as the nightly though, because the tag was pushed 4 days ago (and the latest nightly was built 2 days ago)...

sledgehammer999 commented 3 days ago

mac is a special case. They have hardware which is based on x86_64 arch and arm64 arch. They support both architectures. Devs either have to provide one binary for each arch or a single one that supports both. Official builds support both. CI builds (apparently) support only arm arch.

To support both, ALL your dependencies must be build with both architectures. With cmake you do:

cmake -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" <other options> <src folder>

More info: https://doc.qt.io/qt-6/macos.html#architectures

HanabishiRecca commented 3 days ago

So I just tested the docker alpha tag, and the bug is fixed! Not sure if this is the same as the nightly though, because the tag was pushed 4 days ago (and the latest nightly was built 2 days ago)...

Oops, yeah, I completely forgot about it.

If you are up to test the bleeding-edge version, you can put alpha to get the weekly build.

It does pull the master branch. Which means that the issue indeed has been fixed somewhere upstream, but simply didn't make it into a release yet.

arkandias commented 3 days ago

Great, I'll wait for the next release then! Thank you all.

xavier2k6 commented 3 days ago

@sledgehammer999 For CI macOS-13 is still intel based, we use macos-latest which defaults to macOS-14 which indeed is arm64 based.

Unsure if you want to run both build types in CI?

sledgehammer999 commented 3 days ago

Unsure if you want to run both build types in CI?

Regardless of the arch we're on, we can build for the other arch too. Simultaneously and into one binary. We install Qt from a 3rd party github action. It isn't clear, but it is entirely possible that its builds are unified builds. So all we have to do is add the cmake directive to the libtorrent and qbittorrent builds to have unified builds.