1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-16 23:42:39 +01:00
Commit Graph

602 Commits

Author SHA1 Message Date
Raymond Hill
2059f84826
Fine tune CSS in asset viewer for mobile
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2621#issuecomment-1529036289
2023-04-30 11:56:31 -04:00
Raymond Hill
c31e087946
Mind small screen size in asset viewer
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2621
2023-04-28 16:57:06 -04:00
Raymond Hill
6d81614bd8
Fix and fine tune "Report a filter issue" page
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2619
2023-04-28 08:38:26 -04:00
Raymond Hill
354c060346
Minor HTML/CSS changes 2023-04-27 08:49:45 -04:00
Raymond Hill
b8cfa382e8
Move hostname label to top
Related feedback:
- https://twitter.com/gorhill/status/1650912124003139599
2023-04-26 14:01:16 -04:00
Raymond Hill
4a92f96206
Offer opportunity to update filter lists before reporting issue
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2582

If there exist any built-in filter list which last update time
is older than 2 hours, the "Report a filter issue" page will ask
the user to update their filter lists then verify that the issue
still exists.

Once filter lists are updated, the troubleshooting information
will reflect the change in update time.
2023-04-23 13:45:11 -04:00
Raymond Hill
b6a5424c8d
Seems to fix search count not showing 2023-04-12 20:54:43 -04:00
Raymond Hill
be736b20bd
Search style should override error style 2023-04-11 22:40:44 -04:00
Raymond Hill
f0c28f2faa
Minor CSS change 2023-04-10 19:54:16 -04:00
Raymond Hill
bf5f343548
Replace toolbar icon tooltip with message section in panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2585

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/126rn4f/yellow_toolbar_icon_exclamation_mark_badge/jfns0pc/
2023-04-10 17:10:00 -04:00
Raymond Hill
8b5774a83d
Minor CSS tweak 2023-04-06 17:43:03 -04:00
Raymond Hill
bc21a1fe72
Use custom linter gutter as container for code-folding widgets
This allows to reduce the horizontal size of the gutter; more efficient
management of folding since we already need to parse each line for the
linter; and eventually this will also allows to detect unbalanced
!#if-!#endif directives and report such cases as errors.

Additionally, keep incrementally improving error reporting details
in the linter.
2023-04-06 13:14:42 -04:00
Raymond Hill
9b5ed5ca86
Fine-tune underline styles used in CM editor 2023-04-04 08:36:44 -04:00
Raymond Hill
4aea9aa624
Better folding arrows in CodeMirror editor 2023-04-03 10:20:53 -04:00
Raymond Hill
6531b86d29
Fix search highlight with dark theme
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2542#discussioncomment-5502579
2023-04-02 13:20:22 -04:00
Raymond Hill
95bd52d01f
Fine tuning new linter code 2023-04-02 10:40:44 -04:00
Raymond Hill
dd8031a508
Fine tune CSS style for errors 2023-04-01 18:11:41 -04:00
Raymond Hill
50afd5ae38
Add infrastructure for static filter syntax linter
Sort of related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134
2023-04-01 16:42:41 -04:00
Raymond Hill
8d445e782d
Add widget to filter firewall rows in popup panel
This replaces the limited "visually enhance rows" togglers.
2023-03-29 12:47:18 -04:00
Raymond Hill
5c92d95143
Prevent dashboard from loading at browser launch until ready
Related discussion:
- https://github.com/uBlockOrigin/uAssets/discussions/16939

Various feedback of people trying to interact with uBO's dashboard
at browser launch, before uBO's main process is fully initialized,
causing confusion, and potential loss of data.
2023-03-16 09:17:36 -04:00
Raymond Hill
6220c4d9d5
Improve code viewer convenience
- Retain cursor position, selection, undo history, etc. when swapping
  documents.
- Add ability to remove a document from dropdown list
2023-03-13 10:51:55 -04:00
Raymond Hill
e2dd008388
Add 'View source...' entry in context menu
This new context menu entry will be available only when the
advanced setting `filterAuthorMode` is set to `true`. See:

https://github.com/gorhill/uBlock/wiki/Advanced-settings#filterauthormode

The purpose is for filter list maintainers to easily access
the source code of web pages when investigating filter issues,
without having to necessarily go through the logger.

Additionally an input field to enter URL directly has been
added to the code viewer for convenience.
2023-03-11 15:55:51 -05:00
Raymond Hill
7bf3f1bd20
Prevent dialog box from overflowing logger's viewport
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497#discussioncomment-5250170
2023-03-09 07:11:10 -05:00
Raymond Hill
ccbe350d8b
Increase width of per-entry link button in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2530
2023-03-08 14:28:26 -05:00
Raymond Hill
bbd9470a98
Convert resource URLs into clickable links in code viewer 2023-03-08 12:31:39 -05:00
Raymond Hill
a60a5c2772
Fix wrong syntax color highlight in "Trusted sites" pane
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2521
2023-03-02 20:50:32 -05:00
Raymond Hill
33c437f99f
Add source code viewer (from logger)
This commits add the ability to open html/css/script
resources from the logger, as a formatted and syntax-
highligthed document.

The goal is to make it easier for filter list authors to
investigate filter-related issues.
2023-03-01 11:04:40 -05:00
Raymond Hill
191f2f00d6
Put back reload button in logger's "Details" dialog
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497#discussioncomment-5100726
2023-02-24 18:00:16 -05:00
Raymond Hill
1d42ef5c73
Add missing semicolon 2023-02-21 14:59:18 -05:00
Raymond Hill
e740068691
Support moving logger dialog around with touch events
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2497
2023-02-19 18:41:57 -05:00
Raymond Hill
e39f815a73
Fix mozilla warning 2023-02-13 13:14:54 -05:00
Raymond Hill
8ea3b0f64c
Rewrite static filtering parser
This commit is a rewrite of the static filtering parser into a
tree-based data structure, for easier maintenance and better
abstraction of parsed filters.

This simplifies greatly syntax coloring of filters and also
simplify extending filter syntax.

The minimum version of Chromium-based browsers has been raised
to version 73 because of usage of String.matchAll().
2023-01-23 16:53:18 -05:00
Raymond Hill
988a352cc4
Fine tuning the logger's entry tools positioning
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/10483e5/new_logger_functions_in_latest_dev_build_ubo/j33tx0y/
2023-01-06 10:16:24 -05:00
Raymond Hill
cfd8d144d0
Minor CSS fine tuning in logger 2023-01-05 09:17:24 -05:00
Raymond Hill
c95088f001
Minor background color adjustment 2023-01-05 09:10:50 -05:00
Raymond Hill
5e45c7249a
Add more columns in logger for bringing up entry details 2023-01-05 09:08:26 -05:00
Raymond Hill
3e85e51dd2
Make button font size derive from CSS variable font-size 2023-01-04 14:10:05 -05:00
Raymond Hill
a9405fe36c
Make the logger entry dialog modeless 2023-01-04 13:43:12 -05:00
Raymond Hill
b194baa089
Fix visual regressions in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2425
2022-12-24 10:04:31 -05:00
Raymond Hill
a91781a495
Rewrite logger's "exceptor" feature
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1861

The "exceptor" feature has been rewritten, with the following
changes as a result:

- The excepted filters cease to exist when closing the logger
- It's now possible to temporary except network filters

When toggling on/off a temporary exception, filter lists are now
fully reloaded. This simplified managing temporary exceptions, and
made it easy to implement temporary exception for network filters,
but this also means there might be a perceptible delay when
adding/removing temporary exceptions. At this point I consider
this an acceptable side-effect just to bring the ability to easily
create temporary exception for network filters, while this
simplified the existing temporary exception code throughout.
2022-12-14 16:04:45 -05:00
Raymond Hill
eb709335f8
Ensure state of more/less in panel reflect locked/disabled sections
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1059
2022-11-20 13:02:09 -05:00
Raymond Hill
feaa338678
Code maintenance: replace uDom.js with dom.js
`uDom` is old and crusty and `dom` is meant as replacement. The
goal of `dom` is to be simpler and mainly just convenience
methods for handling the DOM with vanilla JS -- this is not a
framework.

Additionally, removed keyboard shortcuts pane which was useful
only on very old versions of Firefox.
2022-11-12 09:51:22 -05:00
Raymond Hill
8eb28a446c
[mv3] Introduce per-site filtering modes in lieu of per-site toggle switch 2022-10-10 12:28:24 -04:00
Raymond Hill
1a9a19a91f
[mv3] Open options page at first install
To be sure first time users are properly informed about the
possibility to enable broad permissions for better filtering.
2022-09-30 09:18:52 -04:00
Raymond Hill
232c44eeb2
[mv3] Add scriptlet support; improve reliability of cosmetic filtering
First iteration of adding scriptlet support. As with cosmetic
filtering, scriptlet niijection occurs only on sites for which
uBO Lite was granted extended permissions.

At the moment, only three scriptlets are supported:
- abort-current-script
- json-prune
- set-constant

More will be added in the future.
2022-09-16 15:56:35 -04:00
Raymond Hill
34aab95107
[mv3] Add support for specific cosmetic filtering
Specific plain CSS cosmetic filters are now supported.

Cosmetic filtering will occur only after the user explicitly
grant uBO extended permissions for a given site, so that it
can inject CSS on the site.

A new button in the popup panel allows a user to grant/revoke
extended permissions to/from uBO Lite for the current site.

More capabilities will be carefully added for when extended
permissions are granted on a site, so specific cosmetic
filtering through plain CSS is the first implemented capability.

Generic and procedural cosmetic filtering is not implemented.

The current implementation for plain CSS cosmetic filters is
through declarative content injection, which does not require
the service worker to be alive, the browser takes care to
inject the cosmetic filters.

However declarative CSS injection does not support user
styles, so the injected cosmetic filters are "weak". I consider
this is a browser issue, since user styles are supported by
Chromium, there is just no way in the API to specify user
styles for the injected content.

Also:
- Fixed dark theme issues
- Added Steven Black's hosts file

Keep in mind all this is very experimental and implementation
details in this release may (will) greatly change in the future.
2022-09-15 13:14:08 -04:00
Raymond Hill
0d80a1132d
Fix typo in CSS 2022-09-10 16:08:05 -04:00
Raymond Hill
3029c78a55
Redesign document-blocked page
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1681

The redesign is inspired by Brave's corresponding document-blocked
page.
2022-09-10 14:11:23 -04:00
Raymond Hill
1258414f37
Report ruleset stats in popup panel 2022-09-08 10:04:08 -04:00
Raymond Hill
6fbcfc5114
Prevent picker from being larger than viewport
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2114
2022-06-10 11:11:29 -04:00
Raymond Hill
cef36518ed
Remove support deprecated "classic" popup panel
This will prevent spurious issues being opened about long
deprecated "classic" popup panel:

Related commit:
- b4911e2d7c
2022-05-08 10:58:15 -04:00
Raymond Hill
5dcf6ecd41
Fix misaligned icon in logger 2022-03-31 10:59:31 -04:00
Raymond Hill
070706c7ea
Raise opacity of void rows in logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2064
2022-03-23 14:30:28 -04:00
Raymond Hill
5523b345c7
Fix epicker's transparency issue with dark theme
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2120210

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2062
2022-03-22 13:57:37 -04:00
Raymond Hill
b4774c4b98
Make browser use dark theme built-in widget in dark theme
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2120312
2022-03-19 12:43:26 -04:00
myersg86
6573a59a59
Fix typos in README, docs, and JS comments 2022-03-13 08:56:26 -04:00
Raymond Hill
25fe95eb89
Fix unthemed dark mode style
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2303987
2022-03-06 12:34:06 -05:00
Raymond Hill
92bca7ea6e
Tone down highlighted ribbon in popup panel 2022-02-18 07:30:34 -05:00
Raymond Hill
ff52919cfc
Remove extraneous cursor style in picker 2022-02-17 09:06:59 -05:00
Raymond Hill
0676cf66b2
Fine tune color for "keyword" style
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2173524
2022-02-16 10:26:26 -05:00
Raymond Hill
3ea92f87a3
Prevent unset minimal width for popup panel
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1972
2022-02-13 08:25:23 -05:00
Raymond Hill
3e2f779373
Fix un-themed scroll lock in _My rules_
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2159810
2022-02-11 15:14:31 -05:00
Raymond Hill
c776ac72c8
Fine tune padding as suggested
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1970
2022-02-09 17:14:05 -05:00
Raymond Hill
53c98c27cf
Use theme-related shade of red for DOM inspector
Candidate for revision to stable release.
2022-02-09 10:26:25 -05:00
Raymond Hill
934b57019c
Fix bad font size in DOM inspector
Candidate for a revision for current stable release.
2022-02-09 08:36:44 -05:00
Raymond Hill
4e5112a0fd
Fine tune hue for syntax highlighting 2022-02-07 17:23:51 -05:00
Raymond Hill
7192430f56
Max lightness to 40 for syntax coloring in light theme
Except when the color is used for emphasis.
2022-02-07 11:17:12 -05:00
Raymond Hill
ba5125853f
More CSS fine tuning after more testing 2022-02-07 10:42:06 -05:00
Raymond Hill
128ec3a7e4
More fine tuning to bring element picker in line with theme 2022-02-06 18:58:29 -05:00
Raymond Hill
32207c1219
Fix overly small font size in element picker 2022-02-06 18:50:16 -05:00
Raymond Hill
47d211ac5c
Improve legibility of selection versus background 2022-02-06 14:25:57 -05:00
Raymond Hill
0e5d5fa9f0
Don't overuse primary color in element picker 2022-02-06 13:25:14 -05:00
Raymond Hill
76a596bdab
Fix un-schemed rendering of error condition in element picker 2022-02-06 10:27:13 -05:00
Raymond Hill
959d18d665
Use root color when emphasis is used
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2118460
2022-02-06 08:12:52 -05:00
Raymond Hill
ed1b5e2053
Fix untheme parts in element picker widget
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2117965
2022-02-05 17:17:16 -05:00
Raymond Hill
ce0bdb4369
More CSS fine tuning
Additionally, have a list of preset colors for the color
picker (unlike Firefox, Chromium's built-in color picker
does not have a list of preset colors by default).
2022-02-05 07:42:17 -05:00
Raymond Hill
ed25ed6a6c
Fix selection color in codemirror editor
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2113694
2022-02-04 18:31:00 -05:00
Raymond Hill
35490439b9
Fix cname-related ink in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2112321
2022-02-04 12:41:50 -05:00
Raymond Hill
dbf4ed7f4b
Fix grab area of element picker to accomodate dark theme 2022-02-04 09:25:50 -05:00
Raymond Hill
020dad8e58
Fix case of unthemed background in logger
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/1963#discussioncomment-2110873
2022-02-04 08:24:24 -05:00
Raymond Hill
1e81e2f751
More fine-tuning of default theme
Bring default color theme more in line with previous
versions.

Additionally, use `button` tags for navigation bar tabs,
as per MDN guidelines:

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#interactive_content
2022-02-03 16:24:48 -05:00
Raymond Hill
3b350cc844
Limit saturation of accent color for button surface 2022-02-03 08:56:08 -05:00
Raymond Hill
efec9aa69e
Fix color of cnamed entries in overview pane
Additionally, remove pointless (hsluv -> rgb -> hsluv) conversion
when computing accent color-based stylsheet.
2022-02-03 07:12:15 -05:00
Raymond Hill
3e3d1e26be
Store non-normalized accent color
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1957

Normalize color only at stylesheet build time, and cache
generated stylesheet for future reuse.
2022-02-03 06:14:04 -05:00
Raymond Hill
c38682221c
Reduce background color flash through usage of prefers-color-scheme
uBO will use the information from prefers-color-scheme to reduce
likelihood of background color flash. However this works only for
when prefers-color-scheme is properly set by the browser, and only
when uBO's theme selection is "auto", or when it happens to
match that of prefers-color-scheme.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1284
2022-02-02 18:38:28 -05:00
Raymond Hill
ecb73d2ff5
Bring dark theme out of experimental status
Too many changes to list here, essentially there is now a
user interface setting to enable/disable dark theme, and
I've rearranged a bit the Settings pane as a result and
also altered other visuals in various places.

There are places which I know have not been thoroughly
tested (i.e. logger inspector).

Will fine-tune as per feedback.

Issues with the classic popup panel will not be addressed,
and if feedback is that it has become unusuable, it will be
outright removed.
2022-02-02 15:40:47 -05:00
Raymond Hill
e64dacebce
Add ability to see troubleshooting info in report page
Additionally, further fine-tune colors.
2022-01-31 13:28:43 -05:00
Raymond Hill
e110cce92a
Fine tune rule colors
Use explicit color values, as alpha-merging does not guarantee
uniform lightness.
2022-01-31 09:10:20 -05:00
Raymond Hill
819279d99d
More fine-tuning following CSS changes 2022-01-30 20:13:31 -05:00
Raymond Hill
f8c6be868c
Fine tune lightness (Luv) of rule colors in light theme
Trying to use same Luv for both light and dark theme does not
really work -- best to have each them have their own Luv for
rule colors.
2022-01-30 19:39:18 -05:00
Raymond Hill
4ee8a5948d
Work toward bringing dark theme closer to a stable release
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/401
2022-01-30 18:35:26 -05:00
Raymond Hill
b565d311a4
Fix CSS sizing of click-to-load widget as suggested
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1901
2022-01-07 08:02:31 -05:00
Raymond Hill
a86e804c9c
Assign min width to the button
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1886
2021-12-19 08:13:43 -05:00
Raymond Hill
4d482f9133
Store regex filter pattern into bidi-trie buffer
As was done with generic pattern-based filters, the source
string of regex-based filters is now stored into the
bidi-trie (pattern) buffer.

Additionally, added a new "dev tools" page to more
conveniently peer into uBO's internals at run time, without
having to do so from the browser's dev console -- something
which has become more difficult with the use of JS modules.

The new page can be launched from the Support pane through
the "More" button in the troubleshooting section.

The benchmark button in the About pane has been moved to this
new "dev tools" page.

The new "dev tools" page is for development purpose only,
do not open issues about it.
2021-12-12 10:32:49 -05:00
Raymond Hill
6ebebbe23c
Adjust color of cloud storage widget for datk theme
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1867
2021-12-10 07:52:52 -05:00
Raymond Hill
aad90eb323
More fine tuning of filter issue report feature 2021-11-28 07:47:16 -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
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
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
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