Commit Graph

11973 Commits

Author SHA1 Message Date
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
Raymond Hill 13dcd844a7
Unregister all scriptlets when disabling uBO on a specific site
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3083

This will not completely eliminate the issue but it should
lower the likelihood it will occur -- so at least uBO can
still benefit from reliable scriptlet execution in Firefox.
2024-01-19 11:00:07 -05:00