Commit graph

2463 commits

Author SHA1 Message Date
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
e036156f3a
[mv3] Sort scriptlet functions
To minimize diff between releases.
2025-12-09 12:58:10 -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
d5793b83f2
Set Firefox minimum version to 115
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3878#discussioncomment-15147836
2025-12-04 06:51:17 -05:00
Raymond Hill
967b21415b
Import translation work from https://crowdin.com/project/ublock 2025-11-30 10:42:37 -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
015ddcde29
[firefox] Change minimum required version to 128
Related discussion:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3878
2025-11-28 12:53:45 -05:00
Raymond Hill
85db7c38c1
[mv3][edge] Reject responseheaders rules only for non-regex rules
Related commit:
a5091488e5
2025-11-23 11:16:16 -05:00
Raymond Hill
eae618e7e8
[mv3] Force ltr for troubleshooting info 2025-11-21 10:03:24 -05:00
Raymond Hill
fe958625df
[firefox] Signal that no data collection is required
Related information:
https://extensionworkshop.com/documentation/develop/firefox-builtin-data-consent/
2025-11-17 12:40:04 -05:00
Raymond Hill
95ebd70264
Import translation work from https://crowdin.com/project/ublock 2025-11-16 13:10:53 -05:00
Raymond Hill
d1987f88ee
[mv3] Shorten output in build script 2025-11-14 12:47:28 -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
474273ad92
Import translation work from https://crowdin.com/project/ublock 2025-11-10 10:28:12 -05:00
Raymond Hill
16c0f69853
[mv3][safari] Rwrite certain main_frame + regexFilter rules
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/539
2025-11-06 12:23:36 -05:00
Raymond Hill
9849b5f0b1
[mv3] Remove "Custom filters" pane when picker is forbidden
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/536
2025-11-03 09:19:22 -05:00
Raymond Hill
a5091488e5
[mv3][edge] Filter out rules with responseHeaders condition
MS store validator rejects those rules in static rulesets.
2025-11-02 12:55:44 -05:00
Raymond Hill
52fac1ea91
Import translation work from https://crowdin.com/project/ublock 2025-11-02 12:11:28 -05:00
Raymond Hill
2c5ae5113e
Import translation work from https://crowdin.com/project/ublock 2025-10-28 12:24:52 -04:00
Raymond Hill
01427bd754
[mv3] Update EST list URLs 2025-10-23 08:50:50 -04:00
Raymond Hill
d6fc057d3b
[mv3] Minor code review 2025-10-23 08:46:33 -04:00
Raymond Hill
ae2f4da11f
Import translation work from https://crowdin.com/project/ublock 2025-10-19 10:58:41 -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
5e2b85d53d
[mv3][safari] Avoid race condition 2025-10-15 12:44:48 -04:00
Raymond Hill
014ea0170e
Import translation work from https://crowdin.com/project/ublock 2025-10-15 10:03:45 -04:00
Raymond Hill
ede6b17060
Import translation work from https://crowdin.com/project/ublock 2025-10-12 12:59:07 -04:00
Raymond Hill
8cc18c1089
[mv3][safari] Force-reload rulesets when new browsing realm is seen
Workaround for Safari-specific issue:
- https://github.com/uBlockOrigin/uBOL-home/issues/515
- https://bugs.webkit.org/show_bug.cgi?id=300236
2025-10-12 12:11:57 -04:00
Raymond Hill
6fb58f8599
[mv3][safari] Minor code review 2025-10-11 15:01:39 -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
4f41880e43
[mv3][safari] No longer discard method=-related DNR rules 2025-10-08 11:49:55 -04:00
Raymond Hill
2a2e223fd9
Import translation work from https://crowdin.com/project/ublock 2025-10-05 10:41:10 -04:00
Raymond Hill
cdc5a4a0e7
[mv3] Use "split" mode for "incognito" manifest key
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/336
2025-10-05 10:29:58 -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
a03de94729
import translation work from https://crowdin.com/project/ublock 2025-10-02 07:32:16 -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
4b1f87710c
[mv3] Minor CSS changes 2025-09-29 12:19:11 -04:00
Raymond Hill
e91c47846b
[mv3] Fix issues with restore from file 2025-09-28 15:04:26 -04:00
Raymond Hill
bb8e3d4d47
Import translation work from https://crowdin.com/project/ublock 2025-09-28 14:35:14 -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
f40dac91b9
Import translation work from https://crowdin.com/project/ublock 2025-09-28 09:28:14 -04:00
Raymond Hill
575f018c69
[mv3] Fine tuning details 2025-09-27 15:59:32 -04:00
Raymond Hill
6a9357e903
[mv3] Group toggle-based options all under same section 2025-09-27 13:57:00 -04:00
Raymond Hill
12418ae664
Import translation work from https://crowdin.com/project/ublock 2025-09-27 13:54:09 -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
f89de42364
Import translation work from https://crowdin.com/project/ublock 2025-09-27 12:34:44 -04:00
Raymond Hill
10e48d7ec5
Import translation work from https://crowdin.com/project/ublock 2025-09-27 12:31:08 -04:00
Raymond Hill
34d202f79d
Import translation work from https://crowdin.com/project/ublock 2025-09-25 09:08:34 -04:00
Raymond Hill
93c5c077a0
[mv3] Minor CSS-related change 2025-09-25 08:57:55 -04:00
Raymond Hill
91d36749bb
[mv3] Export using human-readable hostnames 2025-09-24 11:01:50 -04:00
Raymond Hill
4598ef3edc
Import translation work from https://crowdin.com/project/ublock 2025-09-24 10:48:18 -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
705e6329eb
Import translation work from https://crowdin.com/project/ublock 2025-09-22 12:46:13 -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
836e04d110
[mv3][safari] Remove doc from removeParams rules
Related issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/476
- https://github.com/uBlockOrigin/uBOL-home/issues/409
2025-09-17 13:34:28 -04:00
Raymond Hill
b3b2142fb6
[mv3][safari] Exclude "AdGuard URL Tracking Protection"
Related issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/476
- https://github.com/uBlockOrigin/uBOL-home/issues/409
2025-09-16 09:15:12 -04:00
Raymond Hill
2943ef5112
[mv3] Don't use push() when large collections are possible
Otherwise this opens potential stack overflow issues.
2025-09-11 09:29:39 -04:00
Raymond Hill
50cb780107
Fix version snafu
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3792
2025-09-08 08:11:20 -04:00
Raymond Hill
0936b9b8b7
Import translation work from https://crowdin.com/project/ublock 2025-09-06 08:23:05 -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
17c6334cbd
Import translation work from https://crowdin.com/project/ublock 2025-08-30 09:15:19 -04:00
Raymond Hill
d1a29d9899
[mv3] Ensure ui is visible even after failure 2025-08-29 11:19:24 -04:00
Raymond Hill
bc05f31cc2
[mv3] Merge AdGuard mobile filters with uBO's own mobile filters
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/20299#issuecomment-3228879091
2025-08-29 09:23:51 -04:00
Raymond Hill
6327aae56c
Add support to strict-block from ipaddress= option
As discussed with filter list maintainers.
2025-08-28 11:13:43 -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
da025fef26
Update README.md 2025-08-18 09:40:32 -04:00
Raymond Hill
69b2fdf396
Reverting change of toolbar icon 2025-08-18 09:38:49 -04:00
Raymond Hill
060442c636
Revert "Add Safari toolbar icon"
This reverts commit 3f73887e47.
2025-08-18 09:36:33 -04:00
Raymond Hill
4814992c54
Import translation work from https://crowdin.com/project/ublock 2025-08-17 10:27:46 -04:00
Raymond Hill
fad0af591f
[mv3] Add support for regexSubstitution from uritransform
Related commit:
aaf35d9d71
2025-08-16 15:36:52 -04:00
Raymond Hill
4194fdec4b
[mv3] Minor code review 2025-08-16 15:34:06 -04:00
Raymond Hill
5957656a5b
[mv3][safari] Workaround for urlFilter with path part ending with ^
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/434
2025-08-16 14:59:22 -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
718b3cdb97
[mv3] Fix custom filter list being unscrollable
Related discussion:
https://github.com/uBlockOrigin/uBOL-home/discussions/436
2025-08-14 08:58:57 -04:00
Raymond Hill
7d4e016297
[mv3] Use Safari-specific toolbar icon only for safari platform 2025-08-13 12:55:46 -04:00
uncw
e6a8c87e0e Change Safari toolbar icon to an outlined version 2025-08-13 20:59:15 +08:00
uncw
3f73887e47 Add Safari toolbar icon 2025-08-12 23:46:22 +08: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
cf70f2abbc
[mv3] Add "EasyList -- Notifications"
Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1mlj09l/
2025-08-09 08:59:28 -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
c8da231453
[mv3] Make new spinner in "Filter lists" pane more noticeable 2025-08-08 12:30:09 -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
af6c247c0d
[mv3] Import translation work from https://crowdin.com/project/ublock 2025-08-08 10:42:45 -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
5d0283d2ee
Reduce/update npm dependencies 2025-08-08 09:03:52 -04:00