GET /posts/ request got plain HTTP error

Seems this hasn’t been reported when visiting page /posts, browsers shows. example Discourse Meta - Latest posts


While it should always give an application error page like what you visit https://meta.discourse.org/posts1

1 Like

I do get an error page when I follow your first link. Is it a particular browser that does this?

Tested the link in Chrome, Firefox and Safari private mode.

When I click the link, I also get the “oops!” page. But when I refresh that page or type the url into a new tab, then it does not work.

It looks like it’s returning 406 error. The ember app treats it like a 404, but if you reload the browser reports it differently.

It’s an error in either case, and there are no links to that url in the ux, so it’s not clear why it’s a problem.

Revise my question - why it returns 406 and an empty page if Discourse Meta - Latest posts is taken as a non exist page. 404 and an Oops message are more reasonable.

I see 406 response code from network tab in Chrome developer tools. I see a Oops page very occasionally. Displaying the Oops page is reasonable.
My question is no matter what errors are, it’s application’s responsibility to present a user friendly error message (like the Oops page does) rather than a blank page. I guess in case of 406 response, the application doesn’t even be reached. It’s an error reported by a service in front of application, that may be a web server or a proxy server.

Did the application generate the link that you are having trouble with?

Glancing at https://github.com/discourse/discourse/blob/main/config/routes.rb#1409-L1413 it doesn’t look like it’s a valid route.

If you start on a route that is invalid, rails isn’t going to send you the entire ember application to tell you that you have a bad URL.

Looks like I’m wrong, https://meta.discourse.org/bananas loads the oops page. I guess it’s because /posts/:id/xxx is a valid route.

Yes. That how I end up with this bare /posts URL after removing the rest of parameters (but I forget where I see the /posts/:id/xxx page now). I have thought /posts is a valid route for a user’s all posts. This may be an edge case that Discourse doesn’t cover.

1 Like

I would expect /posts to return all posts, but returning all posts on the system is pretty useless. You can find your posts at https://meta.discourse.org/my/activity

1 Like

Agree with this in some degree. /posts returning empty page is this a bug of Discourse? I’m just curious if this should be, but I don’t insist on if this issue has to be fixed. Maybe it’s worthy of a further discussion from Discourse team. :slight_smile:

Marking this as pr-welcome, while valid it’s super low priority.

5 Likes