-
Notifications
You must be signed in to change notification settings - Fork 82
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
uBO does not unhide nodes no longer matching procedural cosmetic filters #341
Comments
I don't understand what you are reporting. Your filter matches one element on the page, the overlay box. Seems to me this is what you would want? What does "cut to much in uBO" mean? |
Try block first pop-up and no block normal login pop-up. Use this same partent html element. First no have ❌ button, secound have. |
What first pop-up? I get a "Join NYT Cooking". Please be detailed, clear, applied, concise and provide screenshots if needed, I just can't understand what you are reporting. |
Also, you did not check the box "I verified that this is not a filter issue". Why? If you want assistance with filter issues, this is not the place. |
Are you saying that you cannot close the login popup with those filters ? |
No posible hide (and close first pop-up) without analize JavaScirpt or blocking login for all users. |
AdGuard have workaround with |
After I click "Log in", I get no close button even without uBO, why should that be a uBO issue? |
I disabled cosmetic filtering and the X still doesn't appear on refresh, I think they removed on purpose or the website is broken. |
Or Login FAKE wall. |
Why do you want a workaround when the filter you provide seems to work fine? I am at a lost to understand exactly what issue you are reporting here. |
He thinks uBO removed the X button from the login popup, which is not the case. |
Nope, uBO no analize again code to remove attrib if Website use same code to show two pop-up's. |
I don't see the X button if I disable uBO from the extensions page, so uBO is not responsible for that/ |
Ok, I tried Adguard filter used for that site in that linked issue:
And indeed, this is not a supported syntax yet in uBO. So if I understand correctly, the issue here is asking to increase compatibility with the above Adguard filter? This is what I was planning to do with gorhill/uBlock#3683. |
a bit like it is possible to easily cheat login walls without script inject and analyze javascript website. |
I prefer to keep open as I can work on that specific unsupported case. Both uBO and Adguard essentially do run javascript when enforcing the above filter, because it's not natively supported by the browser. |
Adguard's filter brings back the X button I suppose, so guessing he wants that wit uBO filter too. |
There are two login/register dialogs. One appears when you load page, without "X", blocking access to page content. @krystian3w want to remove this dialog and uses |
Thanks for the clarification, now I get it. Well I fixed something here (increased a bit compatibility with Adguard filters), but what you described still occurs. I need to inevstigate why. |
I vaguely remember discussion about something like this - conclusion was uBO stops watching hidden nodes for performance reasons (or something like that). |
Will need a new solution for this, but it can't be installing an attribute observer by default, everywhere all the time. An idea would be to opt-in to attribute watching to solve sites for which it is necessary:
A sort of configuration operator to expand how the cosmetic filterer works on a page. |
It seems Adguard is also not listening to attribute changes, so maybe we could discuss a common solution. @ameshkov |
I have a working prototype to solve the
|
|
|
@gorhill hi, thanks for the tip! I can't say that I like the proposed solution with a new pseudo-class, but I'll keep watching this issue and make sure AG will support this kind of rules if you decide so. Tbh, I don't think the overhead is that serious/considerable in the case of an attributes observer, although I have not tested it. I am talking about doing smth like this (pseudo-code):
|
@ameshkov The test case you uploaded at https://ameshkov.github.io/web/watchattr.html, is it specific to Adguard ? |
@uBlock-user the test rule should be |
@ameshkov Yes, I did add that on uBO's dev build and the red div doesn't appear when I click the button to change div style after a page refresh, so uBO's not affected ? |
That's the bug, it should've appeared |
That solution would not work for the case at hand, I still have this case in mind and this is why I consider re-evaluating to be avoided as much as possible. A well targeted |
Yup, makes sense, thank you. I'll think a bit more about it tonight, it's just something disturbs me about this new operator. On a side note, how does uBO react on other DOM changes in the current version? I did some tests and it's hard to trigger. Also, it seems that unhiding does not happen even if reevaluation is triggered. I can file a bug report if it's not something known. |
Using |
This website But it is difficult to require that someone modify In addition, it is known that it can be dangerous or undesirable that someone generates some cookies or localstorage to cut something. |
Related issue: - #3683 This commit further increases uBO's procedural cosmetic filters Adguard's cosmetic filter syntax -- specifically those procedural cosmetic filters where plain CSS selectors appeared following a procedural oeprator (this was rejected as invalid by uBO). Also, experimental support for `:watch-attrs` procedural operator, as discussed in <uBlockOrigin/uBlock-issues#341 (comment)>. Support may be dropped before next release depending on whether a better solution is suggested. Additionally, the usual opportunistic refactoring toward ES6 syntax.
I've added "experimental" support in 1.17.5rc1 for Site:
Site:
|
Fix uBlockOrigin/uBlock-issues#341 and other smaller problems
Related issue: gorhill/uBlock #3683 This commit further increases uBO's procedural cosmetic filters Adguard's cosmetic filter syntax -- specifically those procedural cosmetic filters where plain CSS selectors appeared following a procedural operator (this was rejected as invalid by uBO). Also, experimental support for `:watch-attrs` procedural operator, as discussed in <uBlockOrigin/uBlock-issues#341 (comment)>. Support may be dropped before next release depending on whether a better solution is suggested. Additionally, the usual opportunistic refactoring toward ES6 syntax. Co-authored-by: gorhill <585534+gorhill@users.noreply.github.com>
Prerequisites
Description
e.g.
filter cut to much in uBO on
cooking.nytimes.com
.A specific URL where the issue occurs
https://cooking.nytimes.com/recipes/1018016-pot-roast
https://cooking.nytimes.com/recipes/1650-italian-pot-roast-stracotto
uBlockOrigin/uAssets#3708
AdguardTeam/AdguardFilters#24339
uBO rewrite last filter:
Steps to Reproduce
Expected behavior:
filter works same as in AdGuard with
:if-not()
construction on uBO.Actual behavior:
filter no works same as in AdGuard with
:if-not()
construction on uBO.Your environment
The text was updated successfully, but these errors were encountered: