-
-
Notifications
You must be signed in to change notification settings - Fork 191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement per-site strict-blocking #2036
Comments
I still think that the per-website mechanism should be the same machanism as the whitelist one. Some reasons:
|
Three options for where domain-specific rules (user-specific & default) can live:
Pros/cons:
|
If we implenet this list as a "strictBlockList" like the whitelist work right now, I think MyRules can stay exactly the same. In regards to strictBlock it would simply be a more advanced way of using the strictBlock option, because it also permits the user to choose for script, images etc when making a new rule. |
@dhowe I was trying to find a way to have the default rules as a file in the I would say for now, keep as hard-coded as you suggested at some point. |
I think the easiest way would be to add a section in adnauseam.txt, but this is not trivial, so I'm ok with leaving it as is for now, at least until we have a longer list of sites |
@dhowe the defaultStrictBlock domains now will go to "My Rules" Do we really need a specific Logging for them? The moment they go to "My Rules" they are just together with all other Rules, for them to be specifically logged it would require some extra "reverse lookup". So not sure we need this spefic logging. |
ok as is |
Regarding the discussion on which method to do we use implement this feature. There are currently two possible approaches: Using the Dynamic Rules to enforce the strict-blocks.Pros:
Cons:
Creating a new "Strict-list" that does the opposite of what the "whitelist" does.Pros:
Cons:
Regarding the dynamic rules I have some other concerns as well. I wonder what will happen when in a particular version we change the defaultStrickBlockList, but the user has also done that. Will the changes merge? Will the user prevail? It seems that to implement on "My Rules" sounds easier at first but i fear that in the future it will be harder to maintain. @dhowe please feel free to add your points as well. |
Seems that changes required to enable live updates are similar for both cases:
|
@dhowe yes true. The difference is that the dynamic blocking rules have extra parameters that might confuse the user (and complicate a tiny bit the code). I would just insist in the "strictBlockList" because it sounds much more straightfoward to me. |
Btw, based on the discussion on #1966, should we disable clicking for Strict Blocked websites? Or will that be a separate thing? We can also do a checkbox in the Strict Block List for example, enabled/disabled the clicking for strict-blocked pages. This would potentially be an alternative solution for #1982 |
my sense is that strict-blocking should not affect clicking at all -- the idea is to sacrifice some percentage of potential hide/clicks in order to block as much as possible, but not to counteract the primary functionality |
@dhowe There is a minor issue with this design. uBlock doesn't have a function to do a reverse lookup if the filtering on that page is currently disabled because of a Domain or Page exception. Which means I can't check on JavaScript and make the user see which of these two options was previously enabled: To know if a page is disabled uBlock only has a Boolean, it doesn't tell us the 'cause' for the filtering to be disabled. Can we maybe keep as it is in uBlock, where the control key changes the scope of the disabled (and also strict block)? I think to make this change we would have to make a considerable amount of changes in the code, and it is perhaps unnecessary. |
And @dhowe another question. Should we remove the global strict block functionality or not? |
I think this makes sense for domain vs page level blocking (as in ublock) - simply showing that the addon is disabled on the page But I we probably need to show something different for the strict blocking case. Can we not just compare the list of domains that are strict-blocked to the current domain? Also, I suppose that we need an order of operations for blocked vs strict-blocked; that is, what to do if both are activated... |
I'm not sure we do. I would say that strict-blocking or disabled a specific page instead of a domain is really a fringe case. At least I haven't come across a case where blocking a specific page of a domain was really necessary.
In the coding level it is a bit more complicated than that, there are like more 5 layers of functions that separate the actual list from the |
And regarding the Global Strict Block... If we want that functionality we could move the checkbox to the "Strict Block List" page instead, and when activated, add an alert on the menu with the option to disable it. if we don't need it (as already discussed I believe), then we just remove it... |
I am not suggesting a page-based strict-block (we've already decided against this). I am only saying that we need to show the strict-block alert when the user is on a page within a strict-blocked domain. In terms of global strict-block, I would suggest leaving the functionality in place for now, and seeing if a use-case arises. If so we can then add a UI option in settings (not in the menu). If not, we can remove it later... |
Added the follwing to the test wiki:Menu Toggle Button
Strict Block List
|
|
couple of small edits above |
updated |
It is working now, need to merge it together with the 1.40.0 merge and see test so we can make the new release. We can leave merge 1.41.X for the next release. |
Sent the PR with the feature to our master branch together with the 1.40.4 merge |
Implementing the red icon when the page is strictBlocked: |
looks great -- lets make sure to add the '-' for 'strict-blocked' and also consistently align the question mark (vertically)... |
Implemented on v3.13.1, closing |
@dhowe I realised that I have made a conceptual mistake when implementing this feature. I made it so, that when a domain is strict-blocked Adnauseam is strict-blocking all the requests coming from that domain, but not the third-party requests coming from other domains.... A bit dumb from my part to be honest. I am sending a PR now that fixes this. |
Fixed, closing again |
There are several parts to this:
Verify that these show correctly in the loggerSee also: global strict-blocking
The text was updated successfully, but these errors were encountered: