Commit graph

11924 commits

Author SHA1 Message Date
Raymond Hill
9d1d5f9839
Support 'week' unit in ! Expires: directive 2024-01-27 07:36:58 -05:00
Raymond Hill
7cd0ef6ab5
Make Firefox dev build auto-update 2024-01-27 07:30:30 -05:00
Raymond Hill
d1b3f78ba8
New revision for dev build 2024-01-27 07:23:05 -05:00
Raymond Hill
f200bbf5d5
Add trace information to console 2024-01-27 07:22:32 -05:00
Raymond Hill
8be8ac57a7
Bring back ability to log all calls to JSON.parse
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3096
2024-01-27 06:43:36 -05:00
Raymond Hill
0df57e08d2
Make Firefox dev build auto-update 2024-01-26 22:45:41 -05:00
Raymond Hill
efddb727bd
New revision for dev build 2024-01-26 22:42:02 -05:00
Raymond Hill
302d2f5670
Fix type
Related issue:
https://github.com/uBlockOrigin/uAssets/pull/22228
2024-01-26 22:38:31 -05:00
Raymond Hill
11dc33eb02
Make Firefox dev build auto-update 2024-01-26 21:11:08 -05:00
Raymond Hill
98ef5f0576
Update changelog 2024-01-26 21:05:42 -05:00
Raymond Hill
f37aa96033
New revision for dev build 2024-01-26 21:03:01 -05:00
Raymond Hill
cb6ff38f86
Fix error when site has only exception scriptlet filters
Cause by recent refactoring of scriptlet-related code.
2024-01-26 20:57:26 -05:00
Raymond Hill
be1f938c17
[mv3] Adjust as per changes in uBO base 2024-01-26 14:51:50 -05:00
Raymond Hill
120e845a81
Make Firefox dev build auto-update 2024-01-26 13:56:28 -05:00
Raymond Hill
f941043fc9
New revision for dev build 2024-01-26 13:53:00 -05:00
Raymond Hill
94ec65b7db
Fix regression in response body filtering 2024-01-26 13:52:17 -05:00
Raymond Hill
6148d450ac
Make Firefox dev build auto-update 2024-01-26 13:11:18 -05:00
Raymond Hill
5ece451cbd
New revision for dev build 2024-01-26 13:01:41 -05:00
Raymond Hill
34da372d7a
Ensure scriptlet logging information make it to destination
Avoid race conditions between isolated world-side broadcast channel
and main-side broadcast channel, so as to not lose logging
information if the isolated world-side is not yet ready to
receive through its broadcast channel.

Additionally, added new scriptlet: `trusted-replace-argument`.

[...]##+js(trusted-replace-argument, fn, argpos, argval [,condition, pattern])

Where:

- `fn` is the function we want to proxy through an `apply` handler.
  This can also be a class, in which case the scriptlet will proxy
  through `construct` handler. At the moment, `fn` must exist at the
  time the scriptlet executes.

- `argpos` is the 0-based position of the argument we want to change

- `argval` is the value we want to have for the argument -- the value
  is interpreted the same way the value for `set-constant` is
  interpreted.

- `condition, pattern` is a vararg which tells the scriptlet to act
  only if `pattern` is found in the argument to overwrite.

Example of usage:

    alliptvlinks.com##+js(trusted-replace-argument, MutationObserver, 0, noopFunc)
2024-01-26 12:18:30 -05:00
Raymond Hill
55e4cee6e8
Discard repeating adjacent entries in the logger 2024-01-26 09:24:10 -05:00
Raymond Hill
c1af7a7e0d
Make Firefox dev build auto-update 2024-01-26 06:55:46 -05:00
Raymond Hill
f65109233f
New revision for dev build 2024-01-26 06:47:27 -05:00
Raymond Hill
567508f619
Fix regression in looking up scriptlets for entity
Related feedback:
https://www.reddit.com/r/uBlockOrigin/comments/19fihsu/
2024-01-26 06:46:21 -05:00
Raymond Hill
663df76e8a
Make Firefox dev build auto-update 2024-01-25 13:41:24 -05:00
Raymond Hill
e9c417d77e
New revision for dev build 2024-01-25 13:32:01 -05:00
Raymond Hill
49a6dc868f
Fix verbose mode not applying to newly injected scriptlets
Related commit:
869a653fdf
2024-01-25 13:30:41 -05:00
Raymond Hill
aa56fe1224
Make Firefox dev build auto-update 2024-01-25 13:06:07 -05:00
Raymond Hill
022a7ddf0e
New revision for dev build 2024-01-25 12:51:13 -05:00
Raymond Hill
4dd9bcf956
Update changelog 2024-01-25 12:50:45 -05:00
Raymond Hill
c11db790ff
Import translation work from https://crowdin.com/project/ublock 2024-01-25 12:49:32 -05:00
Raymond Hill
feb05f7e83
Add default tooltip until i18n-ed 2024-01-25 12:43:31 -05:00
Raymond Hill
869a653fdf
Output scriptlet logging information to the logger
This commit brings the following changes to the logger:

All logging output generated by injected scriptlets are now sent to
the logger, the developer console will no longer be used to log
scriptlet logging information.

When the logger is not opened, the scriplets will not output any
logging information.

The goal with this new approach is to allow filter authors to
more easily assess the working of scriptlets without having to
go through scriptlet parameters to enable logging.

Consequently all the previous ways to tell scriptlets to log
information are now obsolete: if the logger is opened, the
scriptlets will log information to the logger.

Another benefit of this approach is that the dev tools do not
need to be open to obtain scriptlets logging information.

Accordingly, new filter expressions have been added to the logger:
"info" and "error". Selecting the "scriptlet" expression will also
keep the logging information from scriptlets.

A new button has been added to the logger (not yet i18n-ed): a
"volume" icon, which allows to enable verbose mode. When verbose
mode is enabled, the scriptlets may choose to output more
information regarding their inner working.

The entries in the logger will automatically expand on mouse hover.
This allows to scroll through entries which text does not fit into
a single row.

Clicking anywhere on an entry in the logger will open the detailed
view when applicable.

Generic information/errors will now be rendered regardless of which
tab is currently selected in the logger (similar to how tabless
entries are already being rendered).
2024-01-25 12:20:38 -05:00
Raymond Hill
f1889b02ee
[mv3] Fix conversion of :xpath procedural filters
Procedural filters with `:xpath` operator were silently rejected
at conversion time because the parser was failing to evaluate the
xpath expression due to the absence of a `document` object in
nodejs.

If `document` object is not present, the parser will assume the
xpath expression is valid.
2024-01-22 10:57:48 -05:00
Raymond Hill
46e19e4f7f
Update changelog 2024-01-21 14:46:59 -05:00
Raymond Hill
2e12d14259
Make Firefox dev build auto-update 2024-01-21 14:40:28 -05:00
Raymond Hill
3d576603c4
[mv3] uritransform cannot be converted to DNR 2024-01-21 14:32:14 -05:00
Raymond Hill
ec3f029b18
New revision for dev build 2024-01-21 14:30:44 -05:00
Raymond Hill
49dd68ef3d
Code review recent commit re. quoting parameters
Related commit:
fa3a290ad4
2024-01-21 09:26:17 -05:00
Raymond Hill
77dc3339ac
Make Firefox dev build auto-update 2024-01-20 22:00:49 -05:00
Raymond Hill
e3e01e32e7
New revision for dev build 2024-01-20 21:55:02 -05:00
Raymond Hill
967ec33b6a
Update changelog 2024-01-20 21:54:35 -05:00
Raymond Hill
fa3a290ad4
Fix decompiling of scriptlet parameters
Scriptlets parameters which are quoted must be re-quoted when
output to the logger to be sure they can be properly looked up
in the list, and that they can be used through copy-paste
operations.
2024-01-20 21:46:12 -05:00
Raymond Hill
12b9efe74b
Make Firefox dev build auto-update 2024-01-20 10:55:42 -05:00
Raymond Hill
b88fa360a7
New revision for dev build 2024-01-20 10:41:03 -05:00
Raymond Hill
2657cc0413
Update changelog 2024-01-20 10:39:21 -05:00
Raymond Hill
45e62c939f
Add support for extraMatch in trusted-click-element scriptlet
Related issue:
https://github.com/uBlockOrigin/uAssets/issues/20744#issuecomment-1900710708

Reference documentation:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-trusted-scriptlets.md#-%EF%B8%8F-trusted-click-element

Except that in uBO's implementation, if a regex is given as value
to match, it will be tested against an assembled "key=value"
string.
2024-01-20 10:33:36 -05:00
Raymond Hill
728799dab9
Make Firefox dev build auto-update 2024-01-19 11:41:28 -05:00
Raymond Hill
3160fa5825
New revision for dev build 2024-01-19 11:28:48 -05:00
Raymond Hill
6fc4dd31e7
Update changelog 2024-01-19 11:28:22 -05:00
Raymond Hill
f624c835c2
Remove minimum height constraint from "My filters" pane
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3058
2024-01-19 11:26:01 -05:00