15 ms·
Tell HN: Voting on HN Fails Silently
If you upvote or downvote a post on Hackernews, and it failed (e.g. because you have hit the 1-request-per-second limit), there is no error, and the vote silently fails.
Only if you refresh the page will you see that your vote actually didn't go through.
- fsflover 5y agoI can confirm. For this reason I'm constantly refreshing the page if I think my vote is important.
- samwillis 5y agoOn mobile so can’t check but from memory there is very simplistic JavaScript on the pages and the vote buttons are just links (maybe form Post buttons) that return a http 204 (no content) response that effectively stops the browser from doing anything. The vote counts is just a preemptive ui update with no error checking. It’s always been this way. https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204 https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204
- colejohnson66 5y agoYep. They're simply <a> tags. The code inside `onclick` is very primitive: if (u.pathname == '/vote') { vote(p.get('id'), p.get('how'), p.get('auth'), p.get('goto')); } `vote` just sees if it's an up or a down, set's the unvote link's `innerHTML`, then, curiously, uses an `Image` object to make the request: new Image().src = vurl(id, how, auth, _goto); The code is only 152 lines and is very easy to read: https://news.ycombinator.com/hn.js https://news.ycombinator.com/hn.js
- zarzavat 5y agoThe Image makes sense as a way to make HTTP requests before XMLHttpRequest was widely supported.
- matt_kantor 5y agoHacker News isn't that old. It launched in 2007 at which point XMLHttpRequest had been implemented in all major browsers for several years.
- zarzavat 5y agoOn the desktop yes, but it was on the cusp of the smartphone era so there were many weird mobile browsers around.
- colejohnson66 5y agoThe advantage of XMLHttpRequest is that you get feedback through a callback. When the user clicks the vote arrows, they could turn into something else (such as a spinner) that would disappear when the API request finishes. If my internet is spotty, having some feedback (so I know my votes didn't timeout) would be nice.
- deleted 5y ago[deleted]
- version_five 5y agoRelated, my account is shadow-blocked from up/down voting posts, and I think from flag/vouch as well. I think there was a period where I was too aggressive in moderation and it must have triggered something. I can test this by checking a poster's karma before and after voting - I used to be able to see the increment/decrement and now I can't. I can still upvote stories.
- shock 5y agoSame in my case. At the end of the day, it's just another form of censorship. It broke the illusion I had of HN being something special and I'm glad it did. Better spend that energy elsewhere.
- version_five 5y agoThere is a shadow banned sibling post to this, which given the subject would be worth including. I did vouch but I don't think my votes count as I explained. If you turn on showdead in your settings, you can see the post and vouch for it
- throwawaysea 5y ago> At the end of the day, it's just another form of censorship. This is how I feel right now, since there doesn’t seem to be a good way to openly debate the policies (or dark patterns like shadow bans) once you become subject to actions taken under those policies. All you can do is appeal to the moderators by email. It’s something, but a private conversation isn’t the same as a community debate. And a community debate isn’t possible once you are silenced. I’m not sure what the right solution is. In my case, someone called me a nitwit and my response to them was deemed engaging in a flamewar even though I was mostly just clarifying my earlier comment/stance (https://news.ycombinator.com/item?id=30255599 https://news.ycombinator.com/item?id=30255599). And then upon further investigation from the moderator, I apparently didn’t have the right mix of topics I post on and was deemed to be engaging in ideological battle. It seems arbitrary to me because here are the topics I see in my recent comments: Canada protest, climate change, Neil Young, biometric identity verification, a tool to contact representatives, the Olympics, MacBook Pros, Google Slides, GoFundMe (I had many comments on this one admittedly), search engine results, Delta airline policy, compensation trends, cars, Microsoft Teams, mathematics, Roku spyware, and rent increases. So what is a well meaning user to do if they want to just engage on the stories most meaningful to them? Is it really a bad thing to post on topics that are controversial rather than straightforward? On the other hand, I am not sure what other community is better than HN, even if I dislike censorship. So maybe they’re doing something right and I’m on the wrong side of it after all.
- MerelyMortal 5y agoMy votes fail silently if I click on whatever link to read the article to see if it's any good or not, then click the browser back button to go back to HN to then upvote. After I vote, I always manually refresh the page, and indeed it didn't go through so then I have to click the upvote button again.
- bmarquez 5y agoI can confirm this too. Sometimes I'd quickly scan through comments, then go back to the top and upvote good ones (usually faster than 1/second). Since a child comment sometimes gives greater clarity to a parent comment. When refreshing and noticing votes weren't applied, I thought I triggered some shadowbanning mechanism.
- pingsl 5y agoThink about this, there is no notification system on HN. If you got any errors, you'd better send an email to the moderators here. I did this when I first created the ID, the moderator helped me out. Or my ID will be shadow blocked. :D
- TheRealNGenius 5y agoCan confirm, I'm not able to downvote, so censorship is real
- ALittleLight 5y agoYou don't have enough karma. I think downvote is 500?
- david_allison 5y agoYou need 501 karma: https://github.com/minimaxir/hacker-news-undocumented#downvoting-comments https://github.com/minimaxir/hacker-news-undocumented#downvo...
- TheRealNGenius 5y agowhoever downvoted me is proving my point
- caseymarquis 5y agoSounds like a feature.