Commit graph

7837 commits

Author SHA1 Message Date
Raymond Hill
dc7757e777
New revision for dev build 2020-07-10 08:17:24 -04:00
Raymond Hill
e44a568278
Add CoreMirror's code-folding ability to list editor/viewer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

CodeMirror's code folding reference:
- https://codemirror.net/doc/manual.html#addon_foldcode

This commit adds support for code-folding to the filter
list editor/viewer.

The following blocks of code are foldable by clicking the
corresponding marker in the gutter:

- !#if/#endif blocks
- !#include blocks

Addtionally, the following changes:

- The `!#include` line is now preserved when importing a
  sublist
- The `!#if` directives will be syntax-colored according
  to whether they evaluate to true or false on the current
  platform
- Double-clicking on a foldable line in the gutter will
  select the content of the foldable block
- Minor visual improvement to matching brackets
2020-07-10 08:01:39 -04:00
Raymond Hill
f955d502c3
Extend timeout of Firefox publish script to 60 minutes 2020-07-10 07:44:17 -04:00
Raymond Hill
ebf7fb145e
Fine tune auto-completion for !#if directives
Auto-completion will work only for uBO's own
tokens, compatibility-related tokens[1] will not be
taken into account for auto-completion.

The reason is to not have the compatibility-related
tokens get in the way of auto-completion in order
to not inconvenience uBO's filter list maintainers.

[1] `adguard_ext_chromium`, `adguard_ext_firefox`,
    etc.
2020-07-09 08:09:51 -04:00
Raymond Hill
a11571c666
Make Firefox dev build auto-update 2020-07-08 18:53:08 -04:00
Raymond Hill
4197defe6e
Remove reference to no longer used resources.txt 2020-07-08 10:51:26 -04:00
Raymond Hill
835785b19c
New revision for dev build 2020-07-08 09:59:06 -04:00
Raymond Hill
83c01fb352
Add syntax highlighting/auto-completion for preparsing directives
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Invalid values for `!#if ...` will be highlighted as errors.

Auto completion is now supported for both the directives
themselves and the valid values for `!#if ...`.

For examples, when pressing ctrl-space:

- `!#e` will auto-complete to `!#endif`
- `!#i` will offer to choose between `!#if ` or `!#include `
- `!#if fir` will auto-complete to `!#if env_firefox`

Additionally, support for some of AdGuard preparsing
directives, i.e. `!#if adguard` is now a valid and will be
honoured -- it always evaluate to `false` in uBO.
2020-07-08 09:52:27 -04:00
Raymond Hill
4c89c16401
Fix cdn.statically.io-based URL for urlhaus lists
Related feedback:
- a13ac92089 (commitcomment-40399574)
2020-07-06 11:06:59 -04:00
Raymond Hill
46e205d61a
Fix incorrect list name for newly added urlhaus list 2020-07-06 09:43:44 -04:00
Raymond Hill
0162d64c01
Make Firefox dev build auto-update 2020-07-06 09:35:33 -04:00
Raymond Hill
4fe3e9bbd5
New revision for dev build 2020-07-06 09:21:56 -04:00
Raymond Hill
a13ac92089
Replace seemingly abandoned malware lists with urlhaus list
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1116
- https://github.com/uBlockOrigin/uBlock-issues/issues/984

It has been found that the two malware lists uBO uses by
default appear to be essentially no longer maintained.

urlhaus list[1] has been identified by the community as
being well maintained and as being actually useful as a
default malware-related list in uBO, since it's being updated
every day from a database of top domains and specific URLs
identified as serving malicious content. Additionally, the
maintainer of urlhaus list has taken steps to increase
compatibility with uBO[2].

The decision has been to replace the current two malware-
related lists with urlhaus list, which will be enabled by
default in uBO -- and this means that list will be part of
uBO's package from now on.

For those who have the two removed malware lists enabled,
these will be moved to the custom lists section -- they
will still be enabled. It is suggested users remove them from
their selection of lists as their usefulness at this point
is questionable.

[1] https://gitlab.com/curben/urlhaus-filter
[2] 859dfd03c6
2020-07-06 09:03:20 -04:00
Raymond Hill
18a5f41a04
Better processing of Expires directive in filter list
In case of invalid `Expires` value -- i.e. `NaN` -- do
not use `1` as default value, just let uBO pick the
value according to the global default (which is `5` as
of commit time).
2020-07-06 08:31:53 -04:00
Raymond Hill
dc64cfbd97
Fix properly reporting invalid filter options
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Specifically;

- `beacon`, `ping`, and `websocket` cannot be redirected;
- it's ok to not specify a type when redirecting to `empty`
  resource;
- `csp=` option can't be mixed with other types, redirec
  directives, and more `csp=` options.
2020-07-05 14:11:15 -04:00
Raymond Hill
2476f5f830
Add static filter parser checklist
To be used to validate the static filtering parser code in
uBO. Over time I expect that all theparsing will be done
by the static filtering parser, and thus the list here will
become useful to detect breaking code changes.
2020-07-05 13:24:04 -04:00
Raymond Hill
cd1a3d22cd
Or just simplify by combining both conditions... 2020-07-05 09:17:06 -04:00
Raymond Hill
37f5b3d642
Minor code review re. element picker
Avoid potentially adding element twice to the
resultset.
2020-07-05 09:12:45 -04:00
Raymond Hill
d6fcfeb620
Make Firefox dev build auto-update 2020-07-05 09:00:53 -04:00
Raymond Hill
290e5195be
New revision for dev build 2020-07-05 08:50:17 -04:00
Raymond Hill
16727d68c8
Fix parsing of srcset attribute in element picker
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1071

Additionally, match unconditionally against `srcset` attribute
when trying to find matching elements in the page. For example,
sometimes an img element may set both `src` and `srcset`
properties, they should not be deemed mutually exclusive.
2020-07-05 08:44:14 -04:00
Raymond Hill
35acc70f76
Make Firefox dev build auto-update 2020-07-04 16:25:41 -04:00
Raymond Hill
0c4d59db9d
New revision for dev build 2020-07-04 16:17:39 -04:00
Raymond Hill
a7bedb46a0
Add more types to other filter expression in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/584

`csp` and `doc` have been added to "other" filter expression
in the logger.
2020-07-04 15:14:08 -04:00
Raymond Hill
0da34f7edf
Handle properly Unicode characters in static network filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/772

Unicode characters inside hostname part of a filter will
be converted to punycode.

Unicode characters anywhere else in the pattern will be
percent-encoded.

Unicode characters which cannot be encoded will cause a
filter to be invalid.
2020-07-04 14:47:33 -04:00
Raymond Hill
a85a908f09
Compile scriptlet filters to their canonical, unaliased name
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1031
2020-07-04 11:02:31 -04:00
Raymond Hill
66c237f529
Make Firefox dev build auto-update 2020-07-04 10:20:29 -04:00
Raymond Hill
a9454eb1bd
New revision for dev build 2020-07-04 10:13:58 -04:00
Raymond Hill
000886002d
Fix regression in reverse lookup of cosmetic filters
Related commit:
- d1715fb19f
2020-07-04 10:11:53 -04:00
Raymond Hill
5e949981e0
Make Firefox dev build auto-update 2020-07-04 07:26:15 -04:00
Raymond Hill
6d5f882128
New revision for dev build 2020-07-04 06:30:00 -04:00
Raymond Hill
a5ba668c38
Fix infinitely appending style property
Related issue:
- https://github.com/NanoAdblocker/NanoCore/issues/348
2020-07-03 15:07:52 -04:00
Raymond Hill
d1715fb19f
Fix logger's reverse-lookup of selectors with no \w characters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1139
2020-07-03 14:32:12 -04:00
Raymond Hill
941898e54e
Fix highligthing of FQDN match in logger
Related feedback:
- https://github.com/uBlockOrigin/uAssets/issues/7619#issuecomment-653010310

Also fixed strict-blocking of URL using FQDN.
2020-07-03 14:28:03 -04:00
Raymond Hill
324b4fe9c1
Make Firefox dev build auto-update 2020-07-03 09:06:00 -04:00
Raymond Hill
ab45466445
Fix bad extension name as a result of Crowdin mixup
Not sure how this happened.
2020-07-03 08:55:06 -04:00
Raymond Hill
3adb239443
Use "Trusted sites" instead of "Whitelist"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1114

For now I picked "Trusted sites", unless someone comes up with
a better expression to refer to sites onwhich uBO is disabled.
2020-07-03 08:50:49 -04:00
Raymond Hill
aab3812089
Ignore !#include directives within inactive !#if/!#endif blocks
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1113
2020-07-03 08:43:40 -04:00
Raymond Hill
ae57affea5
New revision for dev build 2020-07-02 12:40:51 -04:00
Raymond Hill
a6355cecea
Output built-in benchmark results regardless of consoleLogLevel 2020-07-02 12:39:40 -04:00
Raymond Hill
8f3d8cde7a
Add support to compare delay against literal Number.NaN in nossif/nostif
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1136
2020-07-02 11:47:49 -04:00
Raymond Hill
dd6f41aaa9
New revision for stable build 2020-06-30 17:00:16 -04:00
Raymond Hill
a358e70ab6
Make Firefox dev build auto-update 2020-06-28 08:45:33 -04:00
Raymond Hill
ad04b7c7e3
New revision for release candidate 2020-06-28 08:39:09 -04:00
Raymond Hill
c6397e3d30
Fix handling of non-punycodable Unicode characters
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1118#issuecomment-650730158
2020-06-28 08:28:29 -04:00
Raymond Hill
13ded677f6
Make Firefox dev build auto-update 2020-06-27 08:20:30 -04:00
Raymond Hill
7b08012854
New revision for release candidate 2020-06-27 08:12:51 -04:00
Raymond Hill
a08cdd721a
Fix edge case involving filter with a single wildcard
This fix the case of the following filter:

    trk*.vidible.tv

Not matching:

    https://trk.vidible.tv/trk/.vidible.tv

The wildcard is supposed to match any number of
characters, including zero characters. The issue
is that the code was not matching zero characters.

This is due to an incorrect comparison in
BidiTrieContainer.indexOf(), causing the code to
bail out before testing for the zero character
condition.
2020-06-27 07:58:46 -04:00
Raymond Hill
ca0c48717b
Make Firefox dev build auto-update 2020-06-26 10:21:18 -04:00
Raymond Hill
1760294741
New revision for release candidate 2020-06-26 10:12:59 -04:00