Skip to content
Permalink
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
visuals:
- 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": "uBlock0@raymondhill.net",
"strict_min_version": "52.0"
"strict_min_version": "55.0"
}
},
"author": "All uBlock Origin contributors",
@@ -300,7 +300,7 @@
"description": ""
},
"settingsNoLargeMediaPrompt":{
"message":"Block media elements larger than {{input:number}} kB",
"message":"Block media elements larger than {{input}} kB",
"description": ""
},
"settingsNoRemoteFontsPrompt":{
@@ -607,9 +607,45 @@
"message":"3rd-party",
"description":"A keyword in the built-in row filtering expression"
},
"logMaxEntriesTip":{
"message":"Maximum number of logger entries",
"description":"Tooltip informaing that the input field is to set the maximum number of entries in the log"
"loggerEntryDetailsHeader":{
"message":"Details",
"description":"Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsFilter":{
"message":"Filter",
"description":"Label to identify a filter field"
},
"loggerEntryDetailsFilterList":{
"message":"Filter list",
"description":"Label to identify a filter list field"
},
"loggerEntryDetailsRule":{
"message":"Rule",
"description":"Label to identify a rule field"
},
"loggerEntryDetailsContext":{
"message":"Context",
"description":"Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsRootContext":{
"message":"Root context",
"description":"Label to identify a root context field (typically a hostname)"
},
"loggerEntryDetailsPartyness":{
"message":"Partyness",
"description":"Label to identify a field providing partyness information"
},
"loggerEntryDetailsType":{
"message":"Type",
"description":"Label to identify the type of an entry"
},
"loggerEntryDetailsURL":{
"message":"URL",
"description":"Label to identify the URL of an entry"
},
"loggerURLFilteringHeader":{
"message":"URL rule",
"description":"Small header to identify the dynamic URL filtering section"
},
"loggerURLFilteringContextLabel":{
"message":"Context:",
@@ -619,12 +655,8 @@
"message":"Type:",
"description":"Label for the type selector"
},
"loggerURLFilteringHeader":{
"message":"Dynamic URL filtering",
"description":"Small header to identify the dynamic URL filtering section"
},
"loggerStaticFilteringHeader":{
"message":"Static filtering",
"message":"Filter",
"description":"Small header to identify the static filtering section"
},
"loggerStaticFilteringSentence":{
@@ -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"
},
"loggerSettingDiscardPrompt":{
"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"
},
"loggerSettingPerEntryMaxAge":{
"message":"Preserve entries from the last {{input}} minutes",
"description":"A logger setting"
},
"loggerSettingPerTabMaxLoads":{
"message":"Preserve at most {{input}} page loads per tab",
"description":"A logger setting"
},
"loggerSettingPerTabMaxEntries":{
"message":"Preserve at most {{input}} entries per tab",
"description":"A logger setting"
},
"loggerSettingPerEntryLineCount":{
"message":"Use {{input}} lines per entry in vertically expanded mode",
"description":"A logger setting"
},
"loggerSettingHideColumnsPrompt":{
"message":"Hide columns:",
"description":"Logger settings: a sentence to describe the purpose of the checkboxes below"
},
"loggerSettingHideColumnTime":{
"message":"{{input}} Time",
"description":"A label for the time column"
},
"loggerSettingHideColumnFilter":{
"message":"{{input}} Filter/rule",
"description":"A label for the filter or rule column"
},
"loggerSettingHideColumnContext":{
"message":"{{input}} Context",
"description":"A label for the context column"
},
"loggerSettingHideColumnPartyness":{
"message":"{{input}} Partyness",
"description":"A label for the partyness column"
},
"aboutChangelog":{
"message":"Changelog",
"description":""
@@ -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.