views/tweet: add .author-$user, .retweet-$user to classlist for adblock #718

Open
badp wants to merge 1 commit from badp/badp/author-in-classlist into master
badp commented 2022-11-04 12:17:31 -04:00 (Migrated from github.com)

Please be aware that I literally just installed nim, and that (although this change compiles) I haven't tried actually running this code. I don't even expect this change to be adopted (I don't even use ad-blockers myself), but rather for this to start a conversation on how blocking people on nitter could be implemented (if it should even be supported at all).

The main impetus for this is that I wish to stop being counted as a twitter "daily active user," and yet open links people choose to share with me. Unfortunately, I still lack the mental fortitude not to check out the replies, and regret it immediately afterwards.

Server-side blocking would require an account infrastructure that doesn't exist, or perhaps sending the blocklist as a cookie on every request (at 4,096 chars per cookie, that'd be.... a lot of cookies). Native client-side blocking would require being able to run javascript, something that AFAICT nitter politely asks for in order to enable video playback. This commit relies on the capabilities of existing ad-blocking extensions: just add .retweet-$user and .author-$user to your blocklist. This mechanism is unsatisfactory in more than one way (mobile, desktop Chrome) but it's 🌈 better than nothing ✨

Please be aware that I literally just installed nim, and that (although this change compiles) I haven't tried actually running this code. I don't even expect this change to be adopted (I don't even use ad-blockers myself), but rather for this to start a conversation on how blocking people on nitter could be implemented (if it should even be supported at all). The main impetus for this is that I wish to stop being counted as a twitter "daily active user," and yet open links people choose to share with me. Unfortunately, I still lack the mental fortitude not to check out the replies, and regret it immediately afterwards. Server-side blocking would require an account infrastructure that doesn't exist, or perhaps sending the blocklist as a cookie on every request (at 4,096 chars per cookie, that'd be.... a _lot_ of cookies). Native client-side blocking would require being able to run javascript, something that AFAICT nitter politely asks for in order to enable video playback. This commit relies on the capabilities of existing ad-blocking extensions: just add `.retweet-$user` and `.author-$user` to your blocklist. This mechanism is unsatisfactory in more than one way (mobile, desktop Chrome) but it's 🌈 better than nothing ✨
This pull request has changes conflicting with the target branch.
  • src/views/tweet.nim
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin badp/badp/author-in-classlist:badp/badp/author-in-classlist
git switch badp/badp/author-in-classlist

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff badp/badp/author-in-classlist
git switch badp/badp/author-in-classlist
git rebase master
git switch master
git merge --ff-only badp/badp/author-in-classlist
git switch badp/badp/author-in-classlist
git rebase master
git switch master
git merge --no-ff badp/badp/author-in-classlist
git switch master
git merge --squash badp/badp/author-in-classlist
git switch master
git merge --ff-only badp/badp/author-in-classlist
git switch master
git merge badp/badp/author-in-classlist
git push origin master
Sign in to join this conversation.
No description provided.