Commit graph

251 commits

Author SHA1 Message Date
Raymond Hill
3855c5a648
[mv3] Fix garbage collection-related code 2025-12-14 10:26:50 -05:00
Raymond Hill
621ad89c64
[mv3] Better validate hostnames in "Filtering mode details" editor
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/564
2025-12-12 09:48:40 -05:00
Raymond Hill
0fb845d1ac
[mv3] Load specific cosmetic filtering data on-demand only
The cosmetic filtering data embedded in the content scripts has been
extracted in corresponding JSON files. When a list is enabled, the
corresponding cosmetic filtering data from the JSON files, if any, is
persisted into the extension's local storage.

The cosmetic filtering-related content scripts will load the data
from these JSON files on-demand only and matching cosmetic filters
will be extracted, then the result is cached in the session storage,
ensuring there is no longer a need to perform lookup for the rest
of the browser session.

As a result this further reduces the time to First Contentful Paint.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/557
2025-12-09 15:32:02 -05:00
Raymond Hill
0aa0d81caf
[mv3] Re-work specific cosmetic filtering-related content scripts
To minimize delay to First Contentful Paint. The idea is to avoid
complex data structures such as Map in order to speed up first content
script execution. Use stringified arrays where practical and
instanciate those arrays from their stringified representation only
when there are actual cosmetic filters to apply.

Related commit:
https://github.com/gorhill/uBlock/commit/6039ef2b6d
2025-12-05 08:54:34 -05:00
Raymond Hill
6039ef2b6d
[mv3] Generate at most two scriptlet-related files per rulesets
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/557
2025-12-04 12:57:25 -05:00
Raymond Hill
cd814ee818
[mv3] Improve automatically changing filtering mode
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/554
2025-11-29 09:41:46 -05:00
Raymond Hill
474723d9ca
[mv3] Improve management of regex-based rules
- Make place for more dynamic regex-based rules when there is a
  risk session regex-based rules could interfere

- Do not prune `allow` strict-block rules as they do not contribute
  toward the overall regex-based rule count

Possibly related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/556
2025-11-28 13:29:59 -05:00
Raymond Hill
d9055b0307
[mv3] Minor code review related to permission changes
Related commit:
801b4679e9
2025-11-14 10:01:09 -05:00
Raymond Hill
d8fb800f30
[mv3][firefox] Fix instanceof quirk; fine tune picker CSS
Related feedback:
https://github.com/uBlockOrigin/uBOL-home/discussions/548
2025-11-14 09:29:28 -05:00
Raymond Hill
801b4679e9
[mv3] Auto reload current tab when permissions granted thru browser
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/526
2025-11-12 12:16:56 -05:00
Raymond Hill
d6fc057d3b
[mv3] Minor code review 2025-10-23 08:46:33 -04:00
Raymond Hill
511255f7c7
[mv3] Automatically select optimal for newly allowed hosts
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/456
2025-10-18 10:03:10 -04:00
Raymond Hill
22d2ecc472
[mv3][safari] Workaround for user styles issue with bfcache
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/518
2025-10-11 14:46:35 -04:00
Raymond Hill
1c7b7e435e
[mv3] Improve troubleshooting information 2025-10-08 13:50:26 -04:00
Raymond Hill
be14670b76
[mv3] Decrease granularity of hashes of generic cosmetic selectors
This reduces the size of content scripts with no downside.
2025-10-04 13:32:16 -04:00
Raymond Hill
41a65315f9
[mv3] Minor code change 2025-10-03 14:45:46 -04:00
Raymond Hill
6623889920
[mv3] Improve details of troublshooting info
Also, avoid loading troubleshooting module in service worker as it's
of use only as a user interface component.
2025-09-29 13:07:59 -04:00
Raymond Hill
e91c47846b
[mv3] Fix issues with restore from file 2025-09-28 15:04:26 -04:00
Raymond Hill
be1502feb3
[mv3] Avoid mouseenter/mouseleave on mobile devices
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/478
2025-09-28 11:24:23 -04:00
Raymond Hill
80cf4d9286
[mv3] Use manifest's path value to access static rulesets
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/503
2025-09-28 11:08:48 -04:00
Raymond Hill
2581004e8f
[mv3] Add ability to backup/restore settings
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/482
2025-09-27 12:53:58 -04:00
Raymond Hill
91d36749bb
[mv3] Export using human-readable hostnames 2025-09-24 11:01:50 -04:00
Raymond Hill
8af80be5b2
[mv3] Add dashboard pane to manage custom filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/418
2025-09-24 10:42:18 -04:00
Raymond Hill
511a59584d
[mv3][safari] Internally disable strict-blocking in Safari
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/30118#issuecomment-3315925462
2025-09-21 09:43:21 -04:00
Raymond Hill
4fbcabbc66
[mv3] Move redirect/removeParams/modifyHeaders rules to static rulesets
Since permissions are now managed by the browsers, the browser will take
care whether to enforce those "usafe" rules according to the permissions
in effect on a given site.
2025-09-02 12:29:41 -04:00
Raymond Hill
d1a29d9899
[mv3] Ensure ui is visible even after failure 2025-08-29 11:19:24 -04:00
Raymond Hill
69fa0c2e09
[mv3] Fix regression in managing redirect rules
Regression cause by:
fad0af591f
2025-08-25 11:55:36 -04:00
Raymond Hill
052c36aada
[mv3] Fix placeholder references for regexSubstitution 2025-08-22 12:35:13 -04:00
Raymond Hill
cb62e38f50
[mv3] Improve built-in parser to convert filters to DNR rules
Ultimately and eventually, the built-in parser will be used to
convert filters to DNR rules at extension building time.
2025-08-22 08:14:52 -04:00
Raymond Hill
bc4e829427
[mv3] Support custom filters using CSS pseudo-elements
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/448
2025-08-20 10:26:45 -04:00
Raymond Hill
4194fdec4b
[mv3] Minor code review 2025-08-16 15:34:06 -04:00
Raymond Hill
4d2cfd1487
[mv3][safari] Do not inject CSS in embedded contexts
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/446

Relateed WebKit issue:
https://bugs.webkit.org/show_bug.cgi?id=262491
2025-08-16 12:51:17 -04:00
Raymond Hill
25d9964b1e
[mv3] Improve internal error reporting in troubleshooting info 2025-08-15 08:39:35 -04:00
Raymond Hill
d54c4a7052
[mv3] Fix unremovable custom filters created using older versions
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/435
2025-08-14 14:56:26 -04:00
Raymond Hill
704f2dd734
[mv3] Code review implementation of custom "console"
Related commit:
28ea00fd11
2025-08-12 08:29:22 -04:00
Raymond Hill
18f9acd844
[mv3] Fix target URL when reporting from a strict-blocked page
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/29594#issuecomment-3176159770
2025-08-11 18:17:26 -04:00
Raymond Hill
28ea00fd11
[mv3] Share console error in troubleshooting information
This shoould help investigating issues, especially with mobile
devices, where the browser dev tools console is not available.
2025-08-11 17:53:59 -04:00
Raymond Hill
a1a5f3690f
[mv3] Fix potentially unremovable custom filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/426
2025-08-10 12:44:42 -04:00
Raymond Hill
19a3de901c
[mv3] Disable "strict blocking" by default in Safari
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/428#issuecomment-3172663563
2025-08-10 11:40:08 -04:00
Raymond Hill
b9956a8d18
[mv3] Normalize request method names to lowercase in converter
Related issue:
https://github.com/uBlockOrigin/uBOL-home/discussions/153
2025-08-09 08:34:30 -04:00
Raymond Hill
dfa47baddf
[mv3] Remove spurious console message in content script
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/422
2025-08-08 11:50:35 -04:00
Raymond Hill
93206e3241
[mv3] Propagate DNR API errors to "Filter lists" pane
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/317
2025-08-08 10:30:32 -04:00
Raymond Hill
e645fe7468
[mv3] Fix browser permissions scanning at launch
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/410
2025-08-07 12:44:27 -04:00
Raymond Hill
b6829698cc
[mv3] Add spinner as visual feedback rulesets are being registered
Additionally, fixed a race condition where changes to rulesets would
not be ultimately registered when the changes were made during an
ongoing registration operation. This race condition would be
especially likely to occur on platforms where rulesets registration
take long.
2025-08-07 08:56:17 -04:00
Raymond Hill
31795fb6e6
[mv3] Remove obsolete code paths in picker tool 2025-08-06 13:28:30 -04:00
Raymond Hill
2d2de3a53b
[mv3] Prevent scrolling taking over moving dialog in picker 2025-08-06 13:20:18 -04:00
Raymond Hill
32bf5ebde3
[mv3] Add support for procedural cosmetic filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/325
2025-08-03 15:50:22 -04:00
Raymond Hill
a986b45433
[mv3] Fix gutter click on last line 2025-07-28 09:18:15 -04:00
Raymond Hill
626b9c7f2d
[mv3] Don't disable lists according to DNR rule count
Some lists may be composed of only static extended filters.
2025-07-23 14:04:58 -04:00
Raymond Hill
fed7f4a0b8
[mv3] Merge all :style() filters with procedural filters 2025-07-19 13:15:43 -04:00