Seems this hasn’t been reported when visiting page /posts, browsers shows. example Discourse Meta
While it should always give an application error page like what you visit https://meta.discourse.org/posts1
The discussion revolves around a GET /posts/ request issue that results in a plain HTTP error. Hyan initially reports the issue, noting that visiting /posts returns a blank page instead of an application error page. Other users, packman and Moin, also test the link and receive different results. pfaffman discovers that the request returns a 406 error, which is treated as a 404 by the Ember app.
Hyan questions why /posts returns a 406 error and an empty page, suggesting that a 404 error and an “Oops” message would be more reasonable. pfaffman notes that the link is not generated by the application and that the route is not valid. Hyan reveals that they arrived at the /posts URL by removing parameters from a /posts/:id/xxx page.
The conversation concludes with pfaffman suggesting that returning all posts on the system would be useless, and Hyan agreeing. Falco marks the issue as pr-welcome, but considers it a low priority.
Seems this hasn’t been reported when visiting page /posts, browsers shows. example Discourse Meta
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 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 discourse/config/routes.rb at main · discourse/discourse · GitHub 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.
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
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. ![]()
Marking this as pr-welcome, while valid it’s super low priority.