Re:Ask HN: Has HN Had an Upgrade?
by nik736 on Wednesday March 01, 2023 @05:55AM
(#34980954)
Logout because of too many comments? What browser and OS are you using?
[ Parent
| on HN ]
Re:Ask HN: Has HN Had an Upgrade?
by bluehatbrit on Wednesday March 01, 2023 @06:14AM
(#34981081)
In the past it's sometimes been requested by dang on particularly popular threads so they can serve the page from cache. Here's one example [0], it's from 2016 but is just an illustration. I'm not sure I've seen it suggested for some time though.
HN backend sometimes is laggy preparing user-specific view of threads.
User-specific? Why isn't the page excluding the header part cached separately, or am I missing something?
Presumably basic stuff like showing whether or not you've upvoted a comment and showing your own comments differently to other people's.
It would be cheaper to render those afterwards client-side given a list of comment ids that the logged-in user has upvoted.
Re:Ask HN: Has HN Had an Upgrade?
by proto_lambda on Wednesday March 01, 2023 @07:11AM
(#34981468)
That would require users to run client-side scripts for basic site functionality.
Upvoting is a client-side script already.
Re:Ask HN: Has HN Had an Upgrade?
by proto_lambda on Wednesday March 01, 2023 @07:21AM
(#34981554)
Are you sure? With JS disabled, the vote arrows are simple links for me that work as expected.
It's both! :-)
That's a perfect example of graceful degradation / progressive enhancement.
A JS event on the html element cancels clicks on those links and handles them in JS with AJAX so the page is not reloaded.
Render server-side (or on the edge) for those who don't run client-side scripts.
Can that be detected by the site? (in a non-hacky way)
Yes, by including code that if run, alters what happens. For example, you can add JavaScript code that handles the "comments" links on the front page in the new way (fetch the data and render it). For those browsers that don't run the code, everything will continue to work in the old way (links will cause a request to the server, which will render the comments).