Commit graph

5072 commits

Author SHA1 Message Date
Raymond Hill
50e898b847
Ignore negated request types when validating redirect option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3835
2025-10-20 09:14:22 -04:00
Raymond Hill
ae2f4da11f
Import translation work from https://crowdin.com/project/ublock 2025-10-19 10:58:41 -04:00
Raymond Hill
ede6b17060
Import translation work from https://crowdin.com/project/ublock 2025-10-12 12:59:07 -04:00
Raymond Hill
f9bb6d7f7e
Improve trusted-click-element scriptlet
Related feedback:
https://github.com/uBlockOrigin/uAssets/discussions/30340
2025-10-10 10:18:16 -04:00
Raymond Hill
4ee38a056e
Remove stray character 2025-10-04 12:53:07 -04:00
Raymond Hill
a43d1d8c42
Improve href-sanitizer scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3650
2025-10-04 10:22:47 -04:00
Raymond Hill
d376adaae8
Fix editInboundObjectFn utility scriptlet 2025-10-02 12:31:13 -04:00
Raymond Hill
d8ed2c2866
Update in-source code documentation 2025-10-02 12:30:06 -04:00
Raymond Hill
52bc354bce
Improve trusted-replace-argument scriptlet 2025-10-02 12:27:45 -04:00
Raymond Hill
f36d2b8496
Add ability to test against regex in JSONPath expressions
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/30157#issuecomment-3356048999
2025-10-01 11:35:15 -04:00
Raymond Hill
dd4f764920
Improve proxy-apply utility scriptlet 2025-10-01 09:21:43 -04:00
Raymond Hill
10e48d7ec5
Import translation work from https://crowdin.com/project/ublock 2025-09-27 12:31:08 -04:00
Raymond Hill
3e5ea3b03f
Fix removeparam for multiple query parameters with same name
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30090
2025-09-26 11:55:38 -04:00
Raymond Hill
34d202f79d
Import translation work from https://crowdin.com/project/ublock 2025-09-25 09:08:34 -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
9aa91ba111
Improve trusted-click-element scriptlet
Related discussion/issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2917
- https://github.com/uBlockOrigin/uAssets/discussions/30124

The "list of selectors" parameter is now a "list of steps". A step
can be:

- A selector, which tells the scriptlet to click a matching element. If
  no matching element is found, the scriptlet will wait for a matching
  element  to become available.
- An integer, which tells the scriptlet to wait n ms before processing
  the next step
- A directive, which is a string starting with `!` (not implemented yet)

If the last item in the list is an integer, this tells the scriplet to
override the built-in timeout value of 10s, such that the life time of
the scriptlet can now be extended beyond 10s.

Example:

  ..##+js(trusted-click-element, '1000, a, 500, b, c, 15000')

The scriptlet filter above will perform the following steps, in order:

- Prepare the scriptlet to timeout at 15s from now
- Wait 1000 ms
- Wait for element `a` to become available then click on it
- Wait 500 ms
- Wait for element `b` to become available then click on it
- Wait for element `c` to become available then click on it
- Abort if all the steps cannot be completed before 15s

The changes keep compatiblity with older syntax or with AdGuard
syntax.
2025-09-22 18:50:58 -04:00
Raymond Hill
705e6329eb
Import translation work from https://crowdin.com/project/ublock 2025-09-22 12:46:13 -04:00
Raymond Hill
8de47f250d
Improve google-ima shim
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/30134
2025-09-22 10:41:36 -04:00
Raymond Hill
889c0eb208
Fix potential infinite loop when scanning for $ anchor
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3799

An infinite loop in the network filter parser was triggered when
the following conditions were fulfilled:

- There was a network option `$` anchor
- There were only whitespace character(s) preceding the anchor
- There was an invalid filter option following the anchor
2025-09-15 09:26:09 -04:00
Raymond Hill
30e5e8c8ce
Remove obsolete code 2025-09-08 14:09:55 -04:00
Raymond Hill
52dba4116e
Allow generic exception for replace= option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3791
2025-09-08 07:32:03 -04:00
Raymond Hill
0936b9b8b7
Import translation work from https://crowdin.com/project/ublock 2025-09-06 08:23:05 -04:00
Raymond Hill
d2bce26e7d
Improve prevent-fetch scriptlet
Add vararg `throttle, n` where `n` is the time to wait in ms before
returning a response from proxied `fetch()`.

As discussed with filter list maintainers.
2025-09-02 10:00:27 -04:00
Raymond Hill
64858e9b9e
Minor 2025-08-30 09:58:33 -04:00
Raymond Hill
17c6334cbd
Import translation work from https://crowdin.com/project/ublock 2025-08-30 09:15:19 -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
5d7e5ee3a0
Improve rendering with high-contrast theme
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3385
2025-08-20 11:02:35 -04:00
Raymond Hill
807d1b6cdb
Fix checkbox visual when using high contrast
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3385
2025-08-19 11:50:58 -04:00
Raymond Hill
4814992c54
Import translation work from https://crowdin.com/project/ublock 2025-08-17 10:27:46 -04:00
Raymond Hill
9327e19233
Fix undue fetch from remote server at first install
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3761

Regression from:
69fce3aa6e
2025-08-17 08:01:51 -04:00
Raymond Hill
60ab2ad59c
Fix regression in static filtering parser
Related commit:
aaf35d9d71
2025-08-16 09:06:25 -04:00
Raymond Hill
aaf35d9d71
Improve compatibility of uritransform= with DNR syntax
The `uritransform=` option will now be converted to a proper DNR
rule when the following condition are fulfilled:

- The value of the `uritransform` option matches `//[replacement]/`,
i.e. the pattern to match is empty, and only the replacement part is
provided.

- The filter pattern is a regex.

Is such case, the DNR rule will be a `redirect` making use of the
`regexSubstitution` property.

In case the above conditions are not fulfilled, the filter will
be discarded as incompatible with DNR syntax (as was the case
before).

This is potentially a breaking change, in cases where a filter
assumed that the part to match was the start of the path part of
a URL.

A reminder that `uritransform` is an option which requires a
trusted source, otherwise it is rejected.
2025-08-15 15:55:33 -04:00
Raymond Hill
07e9f805bb
Allow usage of csp=/permissions= with resource type object
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3746
2025-08-10 09:22:17 -04:00
Raymond Hill
faff035203
JSONPath: Add ability to select root node for appending/modifying
As discussed with filter list maintainers.

Examples of usage:

  $ => result is `null`
  $+={"modifyOrCreate": "..."}

These expressions were not working with previous version.
2025-08-09 13:56:02 -04:00
Raymond Hill
38ca6d41ff
JSONPath: Add ability to substitute a pattern within a string value
As discussed with filter list maintainers.

Examples of JSON path expression to replace a pattern within a string
value:

  ..book.*.author=repl({"pattern": "Melville", "replacement": "Toto"})
  ..book.*.author=repl({"regex": "e", "replacement": "o"})
  ..book.*.author=repl({"regex": "e", "flags": "g", "replacement": "o"})

If the target value is not a string, no modification will occur.
2025-08-09 11:05:27 -04:00
Raymond Hill
1e0c64076f
[mv3] Fix regression with highly generic cosmetic filters CSS files
Regression from:
56ba93700c

Related feedback:
https://old.reddit.com/r/uBlockOrigin/comments/1mi8fd6/ublock_origin_lite_for_ios/n725s6l/
2025-08-05 13:25:14 -04:00
Raymond Hill
bbfe7400ac
[mv3] Support important option for removeparam option
Related discussion:
https://github.com/uBlockOrigin/uAssets/issues/29451#issuecomment-3150181993

When transposing a `removeparam` dilter to a DNR rule, the semantic of
the `important` option changes to "overrides ` allow` rules".
2025-08-04 10:09:39 -04:00
Raymond Hill
bb1d085c8c
Import translation work from https://crowdin.com/project/ublock 2025-08-03 16:04:17 -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
7d9317bb17
Improve fingerprint2.js shim 2025-07-28 09:14:32 -04:00
Raymond Hill
1476ae4262
Import translation work from https://crowdin.com/project/ublock 2025-07-23 11:37:18 -04:00
Raymond Hill
348f151e36
Also report char segment size 2025-07-22 11:19:16 -04:00
Raymond Hill
47cbb43a0e
Make google-ima a valid injectable scriptlet
Related feedback:
https://www.reddit.com/r/uBlockOrigin/comments/1m4dbk1/ublock_being_detected_on_south_park_studios/
2025-07-20 10:53:56 -04:00
Raymond Hill
fef50e59f2
Improve abort-current-script scriptlet
Prevent webpages from tampering with `textContent`.

Borrow solution from:
c2d7378e4d/src/scriptlets/abort-current-inline-script.js (L98-L99)
2025-07-20 10:26:31 -04:00
Raymond Hill
8ae7c1501b
Import translation work from https://crowdin.com/project/ublock 2025-07-18 15:18:56 -04:00
Raymond Hill
e07e7bbd09
Fix potential exception in procedural operator :matches-attr
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3720
2025-07-18 10:23:11 -04:00
Raymond Hill
bb9e2c0fc7
Import translation work from https://crowdin.com/project/ublock 2025-07-17 10:30:22 -04:00
Raymond Hill
b7510eee61
Improve reporting of reason option in strict-blocked pages
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/1195#issuecomment-3072981070
2025-07-15 12:10:10 -04:00
Raymond Hill
255b143c80
Import translation work from https://crowdin.com/project/ublock 2025-07-11 08:49:58 -04:00
Raymond Hill
b0396029bd
Improve prevent-innerHTML scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/29148
2025-07-11 08:35:10 -04:00
Raymond Hill
28bc5905a8
Import translation work from https://crowdin.com/project/ublock 2025-07-08 07:55:56 -04:00
Raymond Hill
78305e11c9
Import translation work from https://crowdin.com/project/ublock 2025-07-06 16:59:43 -04:00
Raymond Hill
0b0294af4f
[mv3] Add support for custom CSS-based cosmetic filters
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/325

This is a first version, with support only for custom filters which are
plain CSS selectors. Future versions will extend support to style-based
and procedural cosmetic filters.

Manually text-editing existing custom filters is currently not supported,
this will be added in a future version in the Develop pane. To remove
existing custom filters, the "Remove a custom filter" tool can be used.
2025-07-06 16:43:22 -04:00
Raymond Hill
b398bd8487
[regression] Normalize header names to lowercase
Related commit:
https://github.com/gorhill/uBlock/commit/408b538e75
2025-07-05 10:59:22 -04:00
Raymond Hill
76b72c9e65
Import translation work from https://crowdin.com/project/ublock 2025-07-03 09:46:52 -04:00
Raymond Hill
eec2045645
[mv3] Fix calculation of priority value when converting redirect filters 2025-07-03 09:22:09 -04:00
Raymond Hill
e27bb85222
Import translation work from https://crowdin.com/project/ublock 2025-06-28 06:20:23 -04:00
Raymond Hill
66b68b4442
Reset important option flag at header evaluation time 2025-06-28 06:07:09 -04:00
Raymond Hill
3a473f8c48
Import translation work from https://crowdin.com/project/ublock 2025-06-24 10:56:43 -04:00
Raymond Hill
253ef7ade3
Complete support for reporing strict-block messages
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1195
2025-06-22 11:28:54 -04:00
Raymond Hill
1b00490a4d
Import translation work from https://crowdin.com/project/ublock 2025-06-22 11:28:39 -04:00
Raymond Hill
001bd5841f
Import translation work from https://crowdin.com/project/ublock 2025-06-22 11:27:19 -04:00
Raymond Hill
527b4a201f
Fix broken reverse lookup of filter lists
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3684

Regression from:
8b696a691a
2025-06-22 08:05:34 -04:00
Raymond Hill
6e466cf945
Add [trusted-]edit-inbound-object scriptlets
As discussed with filter list maintainers.

@scriptlet edit-inbound-object.js
  @description
  Prune properties from an object passed as argument to a specific method.
  Properties can only be removed.
  @param propChain
  Property chain of the method to trap.
  @param argPos
  0-based position of the argument. Use negative integer for position relative
  to the end.
  @param jsonq
  A uBO-flavored JSONPath query.

@scriptlet trusted-edit-inbound-object.js
  @description
  Edit properties of an object passed as argument to a specific method.
  Properties can be assigned new values.
  @param propChain
  Property chain of the method to trap.
  @param argPos
  0-based position of the argument. Use negative integer for position relative
  to the end.
  @param jsonq
  A uBO-flavored JSONPath query.
2025-06-21 06:47:03 -04:00
Raymond Hill
d853f036c7
Import translation work from https://crowdin.com/project/ublock 2025-06-19 17:35:58 -04:00
Raymond Hill
1f5b4ccc53
Import translation work from https://crowdin.com/project/ublock 2025-06-18 12:40:48 -04:00
Raymond Hill
b73034523f
Import translation work from https://crowdin.com/project/ublock 2025-06-17 12:12:14 -04:00
Raymond Hill
0a8ea58bb7
Improve remove-cookie scriptlet
Related discussion:
afc6ff52ff (commitcomment-160172503)
2025-06-16 15:19:01 -04:00
Raymond Hill
33b92f91cb
Import translation work from https://crowdin.com/project/ublock 2025-06-15 19:07:07 -04:00
Raymond Hill
87e0434c90
Add json-edit-related scriptlets
edit-outbound-object-.js
 @description
 Prune properties from an object returned by a specific method.
 Properties can only be removed.
 @param jsonq
 A uBO-flavored JSONPath query.

trusted-edit-outbound-object.js
 @description
 Edit properties from an object returned by a specific method.
 Properties can be assigned new values.
 @param jsonq
 A uBO-flavored JSONPath query.

json-edit-xhr-request.js
 @description
 Edit the object sent as the body in a XHR instance.
 Properties can only be removed.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when xhr.open() is
 called.

trusted-json-edit-xhr-request.js
 @description
 Edit the object sent as the body in a XHR instance.
 Properties can be assigned new values.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when xhr.open() is
 called.

json-edit-fetch-request.js
 @description
 Edit the request body sent through the fetch API.
 Properties can only be removed.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when fetch() is
 called.

trusted-json-edit-fetch-request.js
 @description
 Edit the request body sent through the fetch API.
 Properties can be assigned new values.
 @param jsonq
 A uBO-flavored JSONPath query.
 @param [propsToMatch, value]
 An optional vararg detailing the arguments to match when fetch() is
 called.
2025-06-15 13:55:09 -04:00
Raymond Hill
3a2bb62519
Improve trusted-set-cookie scriptlet
Ability to use regex value for `, domain, value` vararg.

Related discussion:
afc6ff52ff (commitcomment-160035082)
2025-06-14 09:26:27 -04:00
Raymond Hill
b50341089d
[mv3] Expand "Develop" pane
Move "No filtering" section in "Settings" to "Develop" pane. It is
now possible to view/edit the list of hostnames for any of the
filtering mode. This takes care of these issues:
- https://github.com/uBlockOrigin/uBOL-home/issues/270
- https://github.com/uBlockOrigin/uBOL-home/issues/297

Add ability to see all rulesets (read-only), to assist in investigating
filtering issues.
2025-06-13 12:46:05 -04:00
Raymond Hill
43a883396d
[mv3] Fix regression in handling important option
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/368
2025-06-13 11:11:27 -04:00
Raymond Hill
7060be775c
Import translation work from https://crowdin.com/project/ublock 2025-06-11 15:23:14 -04:00
Raymond Hill
a960140c30
Import translation work from https://crowdin.com/project/ublock 2025-06-03 16:56:10 -04:00
Raymond Hill
4affe343dd
Force cache bypass reload when no-scripting switch is toggled
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3652
2025-06-01 13:48:23 -04:00
Raymond Hill
837451c17a
Import translation work from https://crowdin.com/project/ublock 2025-05-31 11:32:54 -04:00
Raymond Hill
55d45a6fb1
Code review: safer to split on official line separator
Will still join lines using the detected line separator.
2025-05-30 11:19:12 -04:00
Raymond Hill
ed9999efd6
Improve jsonl[...] suite of scriptlets
Reuse original line separator when reassembling JSONL lines.
2025-05-30 11:06:33 -04:00
Raymond Hill
fbb96c7234
Import translation work from https://crowdin.com/project/ublock 2025-05-30 08:06:25 -04:00
Raymond Hill
3d5d8e8220
Remove obsolete "shortcut" token from link rel="icon"
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3634
2025-05-30 06:56:10 -04:00
Raymond Hill
b69f809d91
Need this to distinguish FilterMessage instances 2025-05-29 15:19:03 -04:00
Raymond Hill
d8298bb067
Add support for network filter option message
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1195
2025-05-29 13:23:56 -04:00
Raymond Hill
cac62c6dc0
Import translation work from https://crowdin.com/project/ublock 2025-05-29 10:05:13 -04:00
Raymond Hill
9339a75952
[mv3] Add support for custom DNR rules
This feature is hidden behind the "Developer mode" setting in
the dashboard. When "Developer mode" is enabled, a tab named
"Develop" will become available in the dashboard. This tab is
meant to contain tools for technical users.

At the moment, the "Develop" pane allows to create custom DNR
rules through a (CodeMirror-based) editor.

For the sake of convenience, the DNR rule must be entered in
YAML-like format. The format is not really full compliant YAML,
just YAML-like, and very strict in order to ensure the parser
stays simple enough.

Lines starting with `#` are comments and will be ignored by the
parser.

Any line which do not match the parser's expectation will be
marked as invalid, and the whole DNR rule containing such invalid
lines will be discarded.

There must not be empty lines inside a rule definition.

Each DNR rule must be separated with a `---` line, which is
known as a YAML document separator.

String values must not be quoted, otherwise the quotes will be
considered part of the value. There is one exception: `''` will
be parsed as "an empty string".

The editor will attempt to auto-complete known DNR keywords. That
feature will improve over time.

Though the parser will identify some errors, not all invalid DNR
rules are currently identified by the parser, and these will be
reported when the rules are registered through the DNR API. Better
identifying invalid DNR rules at edit time will improve over time.

The editor will report `regexFilter` values which are not
supported by the DNR engine on the current platform.

The editor reacts to instances of `regexFilter: ...` to report
whether a regex value is supported. This means you can test for
a regex value by using `# regexFilter: ...` so that you do not
have to create an actual DNR rules just for the sake of testing.

Custom DNR rules can be exported into a JSON file (a format
known by the DNR API as a "static ruleset").

JSON-based ruleset can be imported, the content will be converted
to YAML-like syntax.

The editor will attempt to convert to YAML pasted content which
can be JSON-parsed. It's possible to paste partially or wholly
JSON-based rulesets.

When disabling "Developer mode", all custom DNR rules will be
unregistered from the DNR API. The DNR rules content will be left
intact in such case. Existing DNR rules will be registered into
the DNR API when re-enabling "Developer mode".

Administrators can prevent "Developer mode" from being enabled
by adding `develop` token to `disabledFeatures` setting.

Related discussion:
https://github.com/uBlockOrigin/uBOL-home/discussions/323

The main motivation is to give list maintainers a tool to assist
with resolving filter issues. Custom DNR rules can assist in
crafting and validating filters meant to work with uBOL.

A secondary motivation is to provide technical users the ability
to further customize their content blocker.

More conveniences will be added over time, this is a first version.
2025-05-29 09:06:02 -04:00
Raymond Hill
e077d36c6e
Import translation work from https://crowdin.com/project/ublock 2025-05-25 18:17:20 -04:00
Raymond Hill
408b538e75
[mv3] Add support to convert header= option to DNR rules
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/157

The `header=` option will be converted into DNR's `responseHeaders`
condition.

There will be an attempt to convert regex-based values into DNR-
compatible syntax. Not all regex-based patterns can be converted to
use DNR's patterns with `*` and `?` special characters.

The implementation of `header=` option in uBO has been revisited to
improve compatibility with DNR syntax to minimize burden for list
maintainers when creating `header=` filters compatible with both
uBO and uBOL.

The changes:
- Header names are now case-insensitive by default
- Occurrences of `*` in non-regex-based header values now mean
  "matches any number of characters"
- Occurrences of `?` in non-regex-based header values now mean
  "matches zero or one character"

At time of commit, and as per MDN, only Chromium-based browsers
currently support filtering on repsonse headers:
https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/HeaderInfo

Also as per MDN, Chromium 121-127 silently ignore the `responseHeaders`
condition, potentially causing undue blocking of network requests.
Currently uBOL support Chromium 122 and later, meaning we need to mind
potential false positives in Chromium 122-127 for filters using
`header=` option.
2025-05-22 11:46:08 -04:00
Raymond Hill
c44f043ed3
Counter CodeMirror's pointer-events: none on scrollbars
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3645
2025-05-22 08:39:29 -04:00
Raymond Hill
0130fdf4a1
Fix element picker issue with explicit dark theme
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3624
2025-05-20 12:14:33 -04:00
Raymond Hill
4c6f8222af
Import translation work from https://crowdin.com/project/ublock 2025-05-18 09:00:28 -04:00
Imre Eilertsen
7e239db9a8
Added AdGuard's 2 newest !#if tokens. (#3938) 2025-05-13 12:38:33 -04:00
Raymond Hill
8cd6212867
Use custom blank page for embedded iframe in dashboard
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631#issuecomment-2870424577
2025-05-12 07:48:42 -04:00
Raymond Hill
e3a3026cac
Use custom blank page for embedded iframe in dashboard
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631#issuecomment-2870424577
2025-05-12 07:46:33 -04:00
Raymond Hill
2e7d0a07e7
[mv3] Add TODO comment 2025-05-11 10:36:21 -04:00
Raymond Hill
5c029b3532
Use color-scheme meta tag as suggested
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631
2025-05-11 10:17:17 -04:00
Raymond Hill
3650117b4f
Fix background color of navigation bar
Related commit:
b604524c2f
2025-05-11 09:41:34 -04:00
Raymond Hill
b604524c2f
Explicitly set background color according to state of prefers-color-scheme
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3631
2025-05-11 09:30:34 -04:00
Raymond Hill
3292f128d2
[mv3] Mind discarded regex- or path-based entries when determining genericity
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/28260
2025-05-11 07:32:32 -04:00
Raymond Hill
df9cd6c9a2
Import translation work from https://crowdin.com/project/ublock 2025-05-08 10:09:03 -04:00