Commit graph

3647 commits

Author SHA1 Message Date
Raymond Hill
0948ad7d0a
Import translation work from https://crowdin.com/project/ublock 2021-12-05 09:11:28 -05:00
Raymond Hill
634ffc9d14
Fix throttling of optimization cycles
This should help lower time-to-readiness when uBO
is launched on less powerful devices.
2021-12-05 09:07:02 -05:00
Raymond Hill
b78b277907
Add missing code to properly grow buffer
Related feedback:
- https://github.com/orgs/uBlockOrigin/teams/ublock-issues-volunteers/discussions/293

Related commit:
- 725e6931f5

Through all the changes, forgot to pay attention to scenarios
where the `filterData` needs to grow -- the buffer's defautl
size is set to accomodate default filter lists, and subscribing
to more lists would cause the static network filtering engine
to fail because the buffer was not resized when needed.
2021-12-04 17:06:09 -05:00
Raymond Hill
7c6d3241bb
Import translation work from https://crowdin.com/project/ublock 2021-12-04 11:57:45 -05:00
Raymond Hill
5c10b13ade
Fix text in Support pane, as per feedback
Related feedback:
- https://crowdin.com/translate/ublock/13/enca-nl?filter=basic&value=4#1153
2021-12-04 11:53:23 -05:00
Raymond Hill
0df8986b52
Fix make lint warning 2021-12-04 11:48:17 -05:00
Raymond Hill
725e6931f5
Refactoring work in static network filtering engine
The original motivation is to further speed up launch time
for either non-selfie-based and selfie-based initialization
of the static network filtering engine (SNFE).

As a result of the refactoring:

Filters are no longer instance-based, they are sequence-of-
integer-based. This eliminates the need to create instances
of filters at launch, and consequently eliminates all the
calls to class constructors, the resulting churning of memory,
and so forth.

All the properties defining filter instances are now as much
as possible 32-bit integer-based, and these are allocated in a
single module-scoped typed array -- this eliminates the need
to allocate memory for every filter being instantiated.

Not all filter properties can be represented as a 32-bit
integer, and in this case a filter class can allocate slots
into another module-scoped array of references.

As a result, this eliminates a lot of memory allocations when
the SNFE is populated with filters, and this makes the saving
and loading of selfie more straightforward, as the operation
is reduced to saving/loading two arrays, one of 32-bit
integers, and the other, much smaller, an array JSON-able
values.

All filter classes now only contain static methods, and all
of these methods are called with an index to the specific
filter data in the module-scoped array of 32-bit integers.

The filter sequences (used to avoid the use of JS arrays) are
also allocated in the single module-scoped array of 32-bit
integers -- they used to be stored in their own dedicated
array.

Additionally, some filters are now loaded more in a deferred
way, so as reduce uBO's time-to-readiness -- the outcome of
this still needs to be evaluated, time-to-readiness is
especially a concern in Firefox for Android or less powerful
computers.
2021-12-04 11:16:44 -05:00
Raymond Hill
64f427d0e5
Have getAll() returns at least one neutered Tracker object
Related discussion:
- https://github.com/uBlockOrigin/uAssets/issues/10731#issuecomment-986031354
2021-12-04 11:07:19 -05:00
Raymond Hill
ccc4c7d41f
Log selfie-related events at launch time 2021-12-04 10:55:33 -05:00
Raymond Hill
1becd8ad18
Use removeparam, queryprune is deprecated 2021-12-04 10:52:24 -05:00
Raymond Hill
7428e117b5
Remove pointless setting from support information 2021-12-04 10:44:57 -05:00
Raymond Hill
5f7d005e3d
Fix pointless use of parenthesis in regex 2021-12-02 17:58:52 -05:00
Raymond Hill
99dfce0b44
Fix make lint warning 2021-12-02 17:58:17 -05:00
Raymond Hill
33ab856e86
Import translation work from https://crowdin.com/project/ublock 2021-11-30 08:04:45 -05:00
Raymond Hill
395a4e36a9
Officialize uiPopupConfig advanced setting
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1817#issuecomment-981104204
2021-11-28 10:35:50 -05:00
Raymond Hill
aad90eb323
More fine tuning of filter issue report feature 2021-11-28 07:47:16 -05:00
Raymond Hill
a06296d4e8
Import translation work from https://crowdin.com/project/ublock 2021-11-27 12:10:31 -05:00
Raymond Hill
1408422cba
Fine tune new reporting feature
Add ability to bring back logger button in popup panel through
the advanced setting `uiPopupConfig`. Adding `+logger` token
to `uiPopupConfig` will bring back the logger icon in the mobile
version of the popup panel.

Additionally, the link to the logger in the Support pane will
take into account whether the <Shift> key is pressed, so as
to behave like the logger icon in the popup panel.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1847

The troubleshooting information has been further fine-tuned to
report popup panel data related to the reported page, for better
diagnosis by disclosing any customization to uBO which was
affecting the reported page.
2021-11-27 11:58:32 -05:00
Raymond Hill
a2444a8c25
Import translation work from https://crowdin.com/project/ublock 2021-11-26 12:30:50 -05:00
Raymond Hill
74d1f90264
Allow reporter to select a choice of URLs to report
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1836

The URL to report can now be picked from a list of related
URLs in order to allow the reporter to publish edited version
of the reported URL.

Additionally, the hash, user name, and password which could be
present in a reported URL are always removed.
2021-11-26 12:23:18 -05:00
Raymond Hill
1ac9c5ceb7
Reject generic HTML block filters
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1844

Generic HTML block filters will by highlighted as invalid and
rejected by uBO at compile time.
2021-11-24 18:14:09 -05:00
Raymond Hill
3cf3ec595f
Import translation work from https://crowdin.com/project/ublock 2021-11-22 09:06:02 -05:00
Raymond Hill
374d4800e5
Arrow functions are not instanceof Function
But their `typeof` is `function`, so use this instead to
detect whether an argument is a function which can be
called.

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/qyx7en/
2021-11-21 11:19:12 -05:00
Raymond Hill
5845aa3d73
Import translation work from https://crowdin.com/project/ublock 2021-11-21 08:00:22 -05:00
Raymond Hill
2fae1ce90e
Remove ability to unredact
Unredacted settings is unlikely to be useful after all,
and removing the ability to unredact ensure users won't
mistakenly publish unredacted information.
2021-11-21 07:53:36 -05:00
Raymond Hill
a240392e07
Import translation work from https://crowdin.com/project/ublock 2021-11-20 09:39:48 -05:00
Raymond Hill
5d51d172c4
Collapse config details by default 2021-11-20 09:38:00 -05:00
Raymond Hill
69a2f123c5
Import translation work from https://crowdin.com/project/ublock 2021-11-19 08:32:11 -05:00
Raymond Hill
5c48e32344
Import translation work from https://crowdin.com/project/ublock 2021-11-18 11:24:07 -05:00
Raymond Hill
bb3c75e37a
Better English, I think 2021-11-18 11:13:04 -05:00
Raymond Hill
e9ea57e9ac
Use real quotes (i.e. not HTML encoded)
So that translators can replace them mor eeasily with
whatever quotes is most appropriate for the language.
2021-11-17 09:37:11 -05:00
Raymond Hill
6566f496c2
Import translation work from https://crowdin.com/project/ublock 2021-11-17 08:23:57 -05:00
Raymond Hill
30cc04c76e
Import translation work from https://crowdin.com/project/ublock 2021-11-16 08:14:46 -05:00
Raymond Hill
d49b979732
Add ability to label report as "nsfw" 2021-11-16 08:11:04 -05:00
Raymond Hill
cf85bf1d53
Import translation work from https://crowdin.com/project/ublock 2021-11-16 07:39:47 -05:00
Raymond Hill
767f81b292
Import translation work from https://crowdin.com/project/ublock 2021-11-15 10:52:56 -05:00
Raymond Hill
bc44371f93
Import translation work from https://crowdin.com/project/ublock 2021-11-15 10:51:59 -05:00
Raymond Hill
45e5c87084
Fine tune filter issue reporter page
Added an entry to report popups.

Added extra information about how uBO launched.
2021-11-15 10:46:29 -05:00
Raymond Hill
c90b2e4d6f
Fix bad indentation in support data 2021-11-14 13:40:00 -05:00
Raymond Hill
8585989f44
Import translation work from https://crowdin.com/project/ublock 2021-11-14 08:21:45 -05:00
Raymond Hill
50436ced61
Further fine-tune configuration information in Support pane 2021-11-14 08:13:43 -05:00
Raymond Hill
52063c8633
Force-close popup panel when reporting a filter issue
Necessary on Firefox.
2021-11-13 12:18:26 -05:00
Raymond Hill
19bdbddbfc
Emphase GitHub account requirement 2021-11-13 11:48:36 -05:00
Raymond Hill
74fd28c76b
Import translation work from https://crowdin.com/project/ublock 2021-11-13 11:43:22 -05:00
Raymond Hill
064ffe4cc7
Remove usage of CSS zoom
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1793
2021-11-13 11:05:35 -05:00
Raymond Hill
e1c386515a
Report specific filter issue through a template
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1541#issuecomment-966697347
2021-11-12 09:11:28 -05:00
Raymond Hill
dea7184f30
Do not decode query parameter name when used as token
Related feedback:
- https://github.com/DandelionSprout/adfilt/discussions/163#discussioncomment-1628496
2021-11-12 08:24:30 -05:00
Raymond Hill
d142066f95
Fix incorrect redaction of user filterset
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1541#issuecomment-966543580
2021-11-11 14:06:59 -05:00
Raymond Hill
acb5b9d649
Import translation work from https://crowdin.com/project/ublock 2021-11-11 13:00:17 -05:00
Raymond Hill
eccf613edf
Add ability to report filter issue from popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1541

A "chat" icon has been added to the popup panel to make
it easy to report filter issue on specific sites.

Reporting filter issues require a GitHub account, since
uBO does not have a home server through which reports could
be sent.

The report icon is available only for when uBO is enabled
on a given site.

On mobile devices, the logger icon is replaced by the "chat"
icon since it is more likely to be useful on small display
devices. The logger can always be opened from the Support
pane in the dashboard.
2021-11-11 12:49:55 -05:00