Discourse serves a basic HTML read-only view when JS is disabled, or the browser version is too old and not supported anymore.
However, in a effort to reduce our request payload and get better speeds for mobile users, specially for users on old Android phones, we don’t ship the basic HTML view if we detect that the user-agent can handle JS just fine.
The trade-off is the behavior you just found, the intersection of the three groups:
- User in mobile
- User in a recent modern browser
- User who manually disabled JS
Will get this sad screen, instead of the basic HTML view we ship for other users.
This was a deliberate choice after checking the number of users who would get a faster site against the users who would not.
That message is there for users who actually get the basic HTML view, like users in Internet Explorer 6.
We made no effort of making the basic HTML view scale well for mobile, as it was designed for search engine bots and users on old desktops. If you want to see how it would look, you can try sending an old browser UA string.
Otherwise, you will need to hit that JS toggle and enable JS for Discourse.