Seafile Android App uses <url>/<public_ip>:80 instead of https url

I updated to seafile 12 and now the seafile android app can no longer download any files.

Observations:

  • file navigation on android works perfectly
  • file sync using deskop clients works perfectly
  • file download using the web interface also works
  • when trying to open/download a file using the android app (v3.0.15) I receive the error “Failed to download file "Failed to connect to seafile.myurl.com/123.123.123.123:80"” (where I substituted my url and ip, both of them are correct by themselves)
  • the correct url would have been https://seafile.myurl.com:443 (which is used by e.g. the web interface)

What is wrong here? Any suggestions? How does it come up with this url which somehow mixes my public ip with my public domain while using the entirely wrong port? (especially since I never manually entered my ip anywhere, it might have been accessible through the caddy reverse proxy though)

Make sure SEAFILE_SERVER_PROTOCOL and SEAFILE_SERVER_HOSTNAME are correct.

SERVICE_URL and FILE_SERVER_ROOT are removed in v12.0. SERVICE_URL will be calculated from SEAFILE_SERVER_PROTOCOL and SEAFILE_SERVER_HOSTNAME in .env file.

Both are set to their correct values in the .env File:
SEAFILE_SERVER_HOSTNAME=seafile.myurl.com SEAFILE_SERVER_PROTOCOL=https

In the database (constance_config) I did find values for FILE_SERVER_ROOT and SERVICE_URL which are outdated, but I thought they are ignored in V12. And the problem only exists for file downloading in the android app, otherwise I can use seafile normally.

Can the Android app work correctly if you remove the outdated configuration from database?

It does not yet work correctly, but I now get “connection refused” - even though it does not tell me where it tried to connect. But the outdated database entries seem to be part of the problem.

When trying to reconnect the account, I can login on the webpage (where it says “single sign on”) but then only get a white screen with no further information.