Skip to content
Browse files

Grand refactoring of the logger

Performance-related work: the logger data has been decoupled
from the DOM -- inspired from CodeMirror's way of efficiently
handling large amout of text data.

This decoupling now makes the logger highly efficient CPU- and
memory-wise, and open the way to more possibilities.

Ability to configure some aspect of the logger behavior and
- The hard-coded limit of 5000 entries has been
  removed and is now replaced with a variety of
  user-configurable settings to enforce the discarding of
  logger entries.
- Some columns in the logger output can now be hidden.

The filter list look-up feature has been merged into the
existing overlay dialog used to create URL rules or static
filters, as an entry in a new "Details" pane.

Other issues addressed during refactoring:
- uBlockOrigin/uBlock-issues#280
- #1999

The minimum version supported on Firefox has been bumped
up to 55.0.
  • Loading branch information...
gorhill committed Jan 12, 2019
1 parent 941182d commit ed5d63df69b7fa044a4d9f649916bd2e9116bd82
@@ -2,7 +2,7 @@
"applications": {
"gecko": {
"id": "",
"strict_min_version": "52.0"
"strict_min_version": "55.0"
"author": "All uBlock Origin contributors",
@@ -300,7 +300,7 @@
"description": ""
"message":"Block media elements larger than {{input:number}} kB",
"message":"Block media elements larger than {{input}} kB",
"description": ""
@@ -607,9 +607,45 @@
"description":"A keyword in the built-in row filtering expression"
"message":"Maximum number of logger entries",
"description":"Tooltip informaing that the input field is to set the maximum number of entries in the log"
"description":"Small header to identify the 'Details' pane for a specific logger entry"
"description":"Label to identify a filter field"
"message":"Filter list",
"description":"Label to identify a filter list field"
"description":"Label to identify a rule field"
"description":"Label to identify a context field (typically a hostname)"
"message":"Root context",
"description":"Label to identify a root context field (typically a hostname)"
"description":"Label to identify a field providing partyness information"
"description":"Label to identify the type of an entry"
"description":"Label to identify the URL of an entry"
"message":"URL rule",
"description":"Small header to identify the dynamic URL filtering section"
@@ -619,12 +655,8 @@
"description":"Label for the type selector"
"message":"Dynamic URL filtering",
"description":"Small header to identify the dynamic URL filtering section"
"message":"Static filtering",
"description":"Small header to identify the static filtering section"
@@ -671,6 +703,46 @@
"message":"Static filter <code>{{filter}}</code> could not be found in any of the currently enabled filter lists",
"description":"Message to show when a filter cannot be found in any filter lists"
"message":"Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description":"Logger setting: A sentence to describe the purpose of the settings below"
"message":"Preserve entries from the last {{input}} minutes",
"description":"A logger setting"
"message":"Preserve at most {{input}} page loads per tab",
"description":"A logger setting"
"message":"Preserve at most {{input}} entries per tab",
"description":"A logger setting"
"message":"Use {{input}} lines per entry in vertically expanded mode",
"description":"A logger setting"
"message":"Hide columns:",
"description":"Logger settings: a sentence to describe the purpose of the checkboxes below"
"message":"{{input}} Time",
"description":"A label for the time column"
"message":"{{input}} Filter/rule",
"description":"A label for the filter or rule column"
"message":"{{input}} Context",
"description":"A label for the context column"
"message":"{{input}} Partyness",
"description":"A label for the partyness column"
@@ -63,6 +63,7 @@
.fa-icon > .fa-icon_home {
width: calc(1em * 1612 / 1792);
.fa-icon > .fa-icon_cog,
.fa-icon > .fa-icon_floppy-o,
.fa-icon > .fa-icon_info-circle,
.fa-icon > .fa-icon_pause-circle-o,
@@ -85,13 +85,13 @@
display: none;

#domInspector.vCompact li:not(.hasCosmeticHide):not(.isCosmeticHide) {
#domInspector:not(.vExpanded) li:not(.hasCosmeticHide):not(.isCosmeticHide) {
display: none;
#domInspector #domTree > li {
display: block;
#domInspector.vCompact ul {
#domInspector:not(.vExpanded) ul {
display: block;
#domInspector li > ul > li:not(.hasCosmeticHide):not(.isCosmeticHide) {

0 comments on commit ed5d63d

Please sign in to comment.
You can’t perform that action at this time.