~toastal/github-less-social

6 2

Can there be a UserCSS alternative?

Details
Message ID
<CW678NGCUTZY.1EFNTXOHZJDI7@nixnetmail.com>
DKIM signature
missing
Download raw message
I personally use uMatrix, which does not support filters as far as I can tell. 
I use Stylus as a UserCSS manager, so it would be nice to be able to use that 
instead of installing uBlock Origin solely for the filters. If you want, I can 
convert the filter list into UserCSS and submit a patch.
Details
Message ID
<178d453fdf2803f8.d76d113760e08779.8e1cf8445e5aa2d4@lavash>
In-Reply-To
<CW678NGCUTZY.1EFNTXOHZJDI7@nixnetmail.com> (view parent)
DKIM signature
missing
Download raw message
> This repository has been archived by the owner on Jul 21, 2021. It is
> now read-only.

Is there something new to know about the project? Has it found a new
maintainer? I stopped using it a year after it was discontinued unsure
of its future & while it’s a little more obtuse to use the interface for
uBlock Origin, it _can_ do the same things but with actually supported.
uBlock Origin can also be installed & have all the default filters
turned off.

I already have a userStyle for smaller visual changes, but some of the
filter rules in here are for network requests—not just element hiding
via display: none. I think being able to share the network blocking more
easily was on of the motivators for archiving uMatrix.

If something like this were to happen, the list would be better stored
in a different language format & then generated as two different output
from the source, but a) can’t just pull raw text, b) it’s a much bigger
maintainence & contribution burden. I’m doing something similar with a
colorsheme using Nix + OCaml right now, but that’s more of a pet project
than this one—this project that is a quick & dirty way to make Microsoft
GitHub™ less of a nucance with as little effort as possible since
Microsoft products don’t deserve anyone’s extra attention.

“convert” filter list → UserCSS to me implies removing the basic filter
list which more folks are using which wouldn’t be a good idea.

--
toastal ไข่ดาว | https://toast.al
PGP: 7944 74B7 D236 DAB9 C9EF  E7F9 5CCE 6F14 66D4 7C9E
Details
Message ID
<CW69WU2MKD4C.18W3XTTV92Y9C@nixnetmail.com>
In-Reply-To
<178d453fdf2803f8.d76d113760e08779.8e1cf8445e5aa2d4@lavash> (view parent)
DKIM signature
missing
Download raw message
> Is there something new to know about the project? Has it found a new
> maintainer?

No, I just keep using it since I basically need the per-request type filtering.

> I already have a userStyle for smaller visual changes, but some of the
> filter rules in here are for network requests—not just element hiding
> via display: none.

I had not noticed that, oops

> “convert” filter list → UserCSS to me implies removing the basic filter
> list which more folks are using which wouldn’t be a good idea.

Sorry, that was bad wording on my part. I meant that I would write UserCSS 
based on the filter lists and have them coexist, rather than removing the 
filter lists.
Details
Message ID
<178d9ab5467b5a00.d76d113760e08779.8e1cf8445e5aa2d4@lavash>
In-Reply-To
<CW69WU2MKD4C.18W3XTTV92Y9C@nixnetmail.com> (view parent)
DKIM signature
missing
Download raw message
> No, I just keep using it since I basically need the per-request type
> filtering.

uBlock can do this, it’s just under more menu with lower
discoverability, but easier to share once settings are in place

> have them coexist, rather than removing the filter lists

If you have something in mind along the lines of a script (ideally thru
`nix run gen-userCSS` & not Python or anything with a bunch of
dependencies (actually a good use case for Raku & its builtin grammars? 
🤔) that I could then append to my git hooks. For easy maintenance, I
really don’t want to have duplicate lists to keep in sync. If it’s
automated, then it’s no problem to add things.

--
toastal ไข่ดาว | https://toast.al
PGP: 7944 74B7 D236 DAB9 C9EF  E7F9 5CCE 6F14 66D4 7C9E
Details
Message ID
<CW75X731AON3.K4IMJUVH0SZ8@nixnetmail.com>
In-Reply-To
<178d9ab5467b5a00.d76d113760e08779.8e1cf8445e5aa2d4@lavash> (view parent)
DKIM signature
missing
Download raw message
> uBlock can do this, it’s just under more menu with lower
> discoverability, but easier to share once settings are in place

Last time I checked, you can only block scripts and iframes. I also need 
cookies (though something like Cookie AutoDelete might do) and XHR (extra 
requests made by javascript).

> If you have something in mind along the lines of a script (ideally thru
> `nix run gen-userCSS` & not Python or anything with a bunch of
> dependencies (actually a good use case for Raku & its builtin grammars? 
> 🤔) that I could then append to my git hooks. For easy maintenance, I
> really don’t want to have duplicate lists to keep in sync. If it’s
> automated, then it’s no problem to add things.

I don't use nix, but I can make a shell script. I haven't heard of Raku 
before, I may or may not use it.

Here's what can't be done with CSS though:
- :has-text()
- Blocking collector.github.com
- Blocking camo.githubusercontent.com (workaround: display: none)
- Replacing avatars with a black placeholder (workaround: visibility: hidden)
- Matching avatars*.githubusercontent.com/u/* (workaround: 
[src^="https://avatars"][src*=".githubusercontent.com/u/"])

Also, it seems like the avatar blocking filters aren't scoped to github.com 
only?
Details
Message ID
<178dab36ac760ee7.d76d113760e08779.8e1cf8445e5aa2d4@lavash>
In-Reply-To
<CW75X731AON3.K4IMJUVH0SZ8@nixnetmail.com> (view parent)
DKIM signature
missing
Download raw message
> cookies

Ah. I just block all third-party cookies & rely on the browser isolation
as ‘good enough’.

> Nix experience

No worries. Nix most things you throw at it.

> :has-text

As the README.rst points out *strike-thru* sane markup. The
Tailwind-ification, BeTailwinding of the internet has made getting
actual selectors quite difficult. You have to start relying on things
like `> div > div > div > div` or on some generic `.mb8` instead of
giving at least the top-level component a name + modifier. It’s bad
design to forego classes for purely utilities, but that expands
beyond just Microsoft GitHub. 🙁

> visibility hidden

Another contributor pointed out that one can do network filtering like
this (thanks!). Previously I had gone the `display: none` route.

> Also, it seems like the avatar blocking filters aren't scoped to github.com 
> only?

I believe they were originally, but I found too many services outside of
Microsoft GitHub’s server were relying on them (i.e. the
no-reason-for-GitHub-lock-in FlakeHub concept, OCaml’s OPAM, etc.).
Since these rules live in the `aggressive.txt` file, I figure someone
who wants aggressive block on Microsoft GitHub, _probably_ appreciates
it globally.

--
toastal ไข่ดาว | https://toast.al
PGP: 7944 74B7 D236 DAB9 C9EF  E7F9 5CCE 6F14 66D4 7C9E
Details
Message ID
<CW7N8E38KZKB.3PEDCIUS7F4BO@nixnetmail.com>
In-Reply-To
<178d9ab5467b5a00.d76d113760e08779.8e1cf8445e5aa2d4@lavash> (view parent)
DKIM signature
missing
Download raw message
I'll probably make the script a bash script. Also, can I replace :upward() 
selectors with :has() (or something like div > h2 > a) in the filters?
Reply to thread Export thread (mbox)