Login with iOS app returns a "protocol error"

I want to use the iOS app on my iPhone 6 (iOS 11.2.5).

I get an error (see picture below) whatever user I try to login with, even with anonymous.

On my site I run SSL with Let’s Encrypt. My hosting provider checked the SSL settings, it is ok.

Login with the mobile browser Safari on iOS works fine, so I assume the issue is not with the user credentials or permissions.

The error logs on the server record no entries after the login attempt.

Thanks für any help.

Regards.

It works on Android but can confirm the problem on iOS. I debugged it and the error message I am getting is The operation couldn’t be completed. Protocol error with a code of 100. The HTTP status code seems to be zero so it might have not even sent the request properly.

I did some research but couldn’t find much. Do you know if you are using HTTP2?

As the HTTP API is implemented by the underlying framework (Appcelerator Platform - Appcelerator Docs) we can’t really do much here. Tried various things already like trying to play with keep alive and other settings.

The server is using HTTP/2, but that shouldn’t be the issue as it’s working fine for me with iOS and Android.

What’s odd is that your server always sends a gzip-ed response even if the client doesn’t request it (With the Content-Encoding header)

➜  ~ curl https://sogesehen.ch/alytcs/index.php    
Warning: Binary output can mess up your terminal. Use "--output -" to tell 
Warning: curl to output it to your terminal anyway, or consider "--output 
Warning: <FILE>" to save to a file.
➜  ~ curl https://sogesehen.ch/alytcs/index.php  --output test
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 11200    0 11200    0     0  37837      0 --:--:-- --:--:-- --:--:-- 37966
➜  ~ file test
test: gzip compressed data, from Unix

Your webserver seems to support QUIC, which is really uncommon yet. (https://en.wikipedia.org/wiki/QUIC#Server_support)
Which webserver are you using?

Thanks for your reply.
I report this back to my hosting provider.
I hope with their additional information we can figure this out.

My hosting provider replied:

It’s a LiteSpeed web server, it does support QUIC, and it serves GZIP-ed responses in order to increase the speed of the websites.

So, is it fair to say that the Matomo iOS app doesn’t support LiteSpeed yet?

Hi,

Thanks for the research!

Im not sure if thats the fact. After all HTTP is a standard, so neither server nor client should matter.

Serving GZIP-ed responses is normal and most HTTP server do it. But normaly the response is gziped if the client requests it.

But I am not sure if that’s the issue. The App also recieves Gziped responses from my server without issues.

UPDATE:

Something else, that’s odd, but shouldn’t cause an issue:
When I try to access https://sogesehen.ch/gibtesnicht/it doesn’t return 404 not found, but redirects the user to https://sogesehen.ch/error/404/ which exists. This doesn’t really matter, but could cause you odd errors in the future as e.g. search engines think that’s a real page.

I just tried out what happens, when I try to add your Matomo instance in the iOS app.
Strangely it works fine for me (also iOS 11.2.5; latest Matomo app). I get the normal Password incorrect message.