Channels not loading in mobile app

Since I can’t post more than three replies… (strange!)

I’m struggling with the description of the issue within this post:

However, I do not believe the “websocket errors” are the cause of that issue but I cannot figure out what is. Would the websockets need to use a different port than what Mattermost is running on? I don’t have a LB in front either.

In my case I’m self hosting since 2019 but this has only started in the past couple of months since an upgrade in April. Previously we had great response times now mobile apps are behaving very slowly. It seems limited to mobile apps and the website and desktop apps still function quickly. Another wrinkle is that if I use mobile app but on local network with wifi it works fine. Only happens via mobile data.

If I wait long enough the app finally responds but there is a ~1min delay in it loading anything. I put the server into DEBUG mode and nothing really is happening during this. Is the mobile app waiting on a response that isn’t coming? Is it being throttled for some reason due to being overly chatty? It used to work just fine and now is very painful to use due to the initial delay.

Anyone else having this issue?

but this has only started in the past couple of months since an upgrade in April.

What version did you upgrade to?

And what is your mobile app version?

No, websockets will use the same HTTP/HTTPs port as your mattermost connection does. Websockets live “on-top” of a normal HTTP request, if you want, so the connection will be “upgraded” to a socket connection and mattermost will take care of that with its integrated webserver (if there’s nothing in front of it, a loadbalancer or a reverse proxy, etc.).

In the other ticket you linked, you said:

I have a personal server setup with an Apache HTTPD router in front of my sites

And this actually contradicts with “I don’t have an LB in front either”, because even though there’s just one backend, Apache is still interfering with the connections here and could be the culprit.

Try to enable the Apache Server Status Module as well as the extended Status:

a2enmod status
systemctl reload apache2

You should then be able to see the running worker processes of your Apache webserver as well as their usage when going to http://your-server-ip/server-status.

Please check the configuration in /etc/apache2/mods-enabled/status.conf, it might need to be adjusted for you to actually see the worker usage.
If the workers are full (lots of Websocket connections, keepalive connections, etc.) this can explain the behaviour you’re experiencing.

On a side note: Apache is not the best option to reverse proxy into Mattermost, haproxy or nginx would be much better fits, if possible.