@browserless.io/browserless 2.0.0-beta-5 → 2.0.0-beta-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/LICENSE +2 -0
  2. package/README.md +11 -11
  3. package/bin/browserless.js +169 -11
  4. package/bin/scaffold/README.md +415 -0
  5. package/bin/scaffold/package.json +21 -0
  6. package/bin/scaffold/src/hello-world.http.ts +27 -0
  7. package/bin/scaffold/tsconfig.json +4 -0
  8. package/build/browserless.js +18 -15
  9. package/build/browsers/index.d.ts +2 -18
  10. package/build/browsers/index.js +43 -14
  11. package/build/file-system.d.ts +5 -0
  12. package/build/file-system.js +20 -5
  13. package/build/file-system.spec.d.ts +1 -0
  14. package/build/file-system.spec.js +44 -0
  15. package/build/http.d.ts +3 -3
  16. package/build/http.js +3 -3
  17. package/build/router.js +2 -4
  18. package/build/routes/chromium/http/content-post.body.json +8 -8
  19. package/build/routes/chromium/http/content-post.d.ts +15 -3
  20. package/build/routes/chromium/http/content-post.js +14 -15
  21. package/build/routes/chromium/http/download-post.d.ts +16 -3
  22. package/build/routes/chromium/http/download-post.js +17 -22
  23. package/build/routes/chromium/http/function-post.d.ts +16 -3
  24. package/build/routes/chromium/http/function-post.js +17 -22
  25. package/build/routes/chromium/http/pdf-post.body.json +8 -8
  26. package/build/routes/chromium/http/pdf-post.d.ts +15 -3
  27. package/build/routes/chromium/http/pdf-post.js +19 -15
  28. package/build/routes/chromium/http/performance.d.ts +15 -3
  29. package/build/routes/chromium/http/performance.js +15 -23
  30. package/build/routes/chromium/http/scrape-post.body.json +8 -8
  31. package/build/routes/chromium/http/scrape-post.d.ts +15 -3
  32. package/build/routes/chromium/http/scrape-post.js +15 -16
  33. package/build/routes/chromium/http/screenshot-post.body.json +8 -8
  34. package/build/routes/chromium/http/screenshot-post.d.ts +15 -3
  35. package/build/routes/chromium/http/screenshot-post.js +18 -15
  36. package/build/routes/chromium/tests/websocket.spec.js +20 -1
  37. package/build/routes/chromium/utils/function/handler.js +2 -2
  38. package/build/routes/chromium/ws/browser.d.ts +13 -3
  39. package/build/routes/chromium/ws/browser.js +10 -11
  40. package/build/routes/chromium/ws/cdp-chromium.d.ts +13 -3
  41. package/build/routes/chromium/ws/cdp-chromium.js +10 -11
  42. package/build/routes/chromium/ws/page.d.ts +13 -3
  43. package/build/routes/chromium/ws/page.js +10 -11
  44. package/build/routes/chromium/ws/playwright-chromium.d.ts +13 -3
  45. package/build/routes/chromium/ws/playwright-chromium.js +11 -12
  46. package/build/routes/firefox/ws/playwright-firefox.d.ts +13 -3
  47. package/build/routes/firefox/ws/playwright-firefox.js +11 -12
  48. package/build/routes/management/http/config-get.d.ts +15 -3
  49. package/build/routes/management/http/config-get.js +15 -20
  50. package/build/routes/management/http/metrics-get.d.ts +15 -3
  51. package/build/routes/management/http/metrics-get.js +16 -21
  52. package/build/routes/management/http/metrics-total-get.d.ts +15 -3
  53. package/build/routes/management/http/metrics-total-get.js +16 -21
  54. package/build/routes/management/http/sessions-get.d.ts +15 -3
  55. package/build/routes/management/http/sessions-get.js +16 -20
  56. package/build/routes/management/http/static-get.d.ts +15 -3
  57. package/build/routes/management/http/static-get.js +15 -20
  58. package/build/routes/webkit/ws/playwright-webkit.d.ts +13 -3
  59. package/build/routes/webkit/ws/playwright-webkit.js +11 -12
  60. package/build/server.js +0 -1
  61. package/build/types.d.ts +48 -38
  62. package/build/types.js +135 -0
  63. package/extensions/ublock/1p-filters.html +0 -1
  64. package/extensions/ublock/3p-filters.html +0 -2
  65. package/extensions/ublock/_locales/bg/messages.json +6 -6
  66. package/extensions/ublock/_locales/br_FR/messages.json +14 -14
  67. package/extensions/ublock/_locales/bs/messages.json +8 -8
  68. package/extensions/ublock/_locales/ca/messages.json +1 -1
  69. package/extensions/ublock/_locales/da/messages.json +5 -5
  70. package/extensions/ublock/_locales/fa/messages.json +1 -1
  71. package/extensions/ublock/_locales/fi/messages.json +6 -6
  72. package/extensions/ublock/_locales/hr/messages.json +4 -4
  73. package/extensions/ublock/_locales/nb/messages.json +1 -1
  74. package/extensions/ublock/_locales/no/messages.json +1 -1
  75. package/extensions/ublock/_locales/ro/messages.json +2 -2
  76. package/extensions/ublock/_locales/ru/messages.json +1 -1
  77. package/extensions/ublock/_locales/sk/messages.json +1 -1
  78. package/extensions/ublock/_locales/sv/messages.json +2 -2
  79. package/extensions/ublock/_locales/te/messages.json +17 -17
  80. package/extensions/ublock/_locales/vi/messages.json +12 -12
  81. package/extensions/ublock/_locales/zh_TW/messages.json +13 -13
  82. package/extensions/ublock/assets/assets.json +3 -3
  83. package/extensions/ublock/assets/resources/scriptlets.js +218 -97
  84. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +3010 -2056
  85. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +624 -433
  86. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +93 -24
  87. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +7 -15
  88. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +795 -777
  89. package/extensions/ublock/assets/ublock/badware.min.txt +138 -72
  90. package/extensions/ublock/assets/ublock/filters.min.txt +1929 -2735
  91. package/extensions/ublock/assets/ublock/privacy.min.txt +57 -26
  92. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +125 -74
  93. package/extensions/ublock/assets/ublock/unbreak.min.txt +46 -53
  94. package/extensions/ublock/css/codemirror.css +8 -7
  95. package/extensions/ublock/css/dom-inspector.css +40 -0
  96. package/extensions/ublock/css/logger-ui-inspector.css +7 -1
  97. package/extensions/ublock/css/logger-ui.css +12 -5
  98. package/extensions/ublock/css/popup-fenix.css +1 -1
  99. package/extensions/ublock/devtools.html +1 -0
  100. package/extensions/ublock/js/1p-filters.js +4 -3
  101. package/extensions/ublock/js/3p-filters.js +25 -31
  102. package/extensions/ublock/js/about.js +1 -1
  103. package/extensions/ublock/js/advanced-settings.js +1 -1
  104. package/extensions/ublock/js/asset-viewer.js +1 -1
  105. package/extensions/ublock/js/assets.js +74 -44
  106. package/extensions/ublock/js/background.js +9 -3
  107. package/extensions/ublock/js/base64-custom.js +1 -1
  108. package/extensions/ublock/js/benchmarks.js +1 -1
  109. package/extensions/ublock/js/biditrie.js +1 -1
  110. package/extensions/ublock/js/broadcast.js +75 -0
  111. package/extensions/ublock/js/cachestorage.js +68 -45
  112. package/extensions/ublock/js/click2load.js +1 -1
  113. package/extensions/ublock/js/cloud-ui.js +1 -1
  114. package/extensions/ublock/js/code-viewer.js +1 -1
  115. package/extensions/ublock/js/codemirror/search-thread.js +1 -1
  116. package/extensions/ublock/js/codemirror/search.js +1 -1
  117. package/extensions/ublock/js/codemirror/ubo-dynamic-filtering.js +1 -1
  118. package/extensions/ublock/js/codemirror/ubo-static-filtering.js +98 -24
  119. package/extensions/ublock/js/commands.js +1 -1
  120. package/extensions/ublock/js/console.js +1 -1
  121. package/extensions/ublock/js/contentscript-extra.js +1 -1
  122. package/extensions/ublock/js/contentscript.js +1 -3
  123. package/extensions/ublock/js/contextmenu.js +1 -1
  124. package/extensions/ublock/js/cosmetic-filtering.js +4 -4
  125. package/extensions/ublock/js/dashboard-common.js +1 -1
  126. package/extensions/ublock/js/dashboard.js +1 -1
  127. package/extensions/ublock/js/devtools.js +23 -15
  128. package/extensions/ublock/js/diff-updater.js +3 -3
  129. package/extensions/ublock/js/document-blocked.js +1 -1
  130. package/extensions/ublock/js/dom-inspector.js +68 -0
  131. package/extensions/ublock/js/dom.js +1 -1
  132. package/extensions/ublock/js/dyna-rules.js +1 -1
  133. package/extensions/ublock/js/dynamic-net-filtering.js +1 -1
  134. package/extensions/ublock/js/epicker-ui.js +35 -59
  135. package/extensions/ublock/js/fa-icons.js +1 -1
  136. package/extensions/ublock/js/filtering-context.js +1 -1
  137. package/extensions/ublock/js/filtering-engines.js +1 -1
  138. package/extensions/ublock/js/hnswitches.js +1 -1
  139. package/extensions/ublock/js/hntrie.js +1 -1
  140. package/extensions/ublock/js/html-filtering.js +1 -1
  141. package/extensions/ublock/js/httpheader-filtering.js +1 -1
  142. package/extensions/ublock/js/i18n.js +1 -1
  143. package/extensions/ublock/js/is-webrtc-supported.js +1 -1
  144. package/extensions/ublock/js/logger-ui-inspector.js +203 -145
  145. package/extensions/ublock/js/logger-ui.js +21 -5
  146. package/extensions/ublock/js/logger.js +6 -2
  147. package/extensions/ublock/js/lz4.js +2 -2
  148. package/extensions/ublock/js/messaging.js +266 -166
  149. package/extensions/ublock/js/mrucache.js +58 -0
  150. package/extensions/ublock/js/pagestore.js +1 -1
  151. package/extensions/ublock/js/popup-fenix.js +2 -1
  152. package/extensions/ublock/js/redirect-engine.js +1 -1
  153. package/extensions/ublock/js/redirect-resources.js +1 -12
  154. package/extensions/ublock/js/reverselookup-worker.js +1 -1
  155. package/extensions/ublock/js/reverselookup.js +1 -1
  156. package/extensions/ublock/js/scriptlet-filtering-core.js +300 -0
  157. package/extensions/ublock/js/scriptlet-filtering.js +122 -350
  158. package/extensions/ublock/js/scriptlets/cosmetic-logger.js +36 -47
  159. package/extensions/ublock/js/scriptlets/cosmetic-off.js +1 -1
  160. package/extensions/ublock/js/scriptlets/cosmetic-on.js +1 -1
  161. package/extensions/ublock/js/scriptlets/cosmetic-report.js +1 -1
  162. package/extensions/ublock/js/scriptlets/dom-inspector.js +341 -323
  163. package/extensions/ublock/js/scriptlets/dom-survey-elements.js +1 -1
  164. package/extensions/ublock/js/scriptlets/dom-survey-scripts.js +1 -1
  165. package/extensions/ublock/js/scriptlets/epicker.js +80 -89
  166. package/extensions/ublock/js/scriptlets/load-3p-css.js +1 -1
  167. package/extensions/ublock/js/scriptlets/load-large-media-all.js +1 -1
  168. package/extensions/ublock/js/scriptlets/load-large-media-interactive.js +1 -1
  169. package/extensions/ublock/js/scriptlets/noscript-spoof.js +1 -1
  170. package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -1
  171. package/extensions/ublock/js/scriptlets/subscriber.js +1 -1
  172. package/extensions/ublock/js/scriptlets/updater.js +20 -3
  173. package/extensions/ublock/js/settings.js +1 -1
  174. package/extensions/ublock/js/start.js +19 -20
  175. package/extensions/ublock/js/static-dnr-filtering.js +1 -1
  176. package/extensions/ublock/js/static-ext-filtering-db.js +1 -1
  177. package/extensions/ublock/js/static-ext-filtering.js +1 -1
  178. package/extensions/ublock/js/static-filtering-io.js +1 -1
  179. package/extensions/ublock/js/static-filtering-parser.js +5 -3
  180. package/extensions/ublock/js/static-net-filtering.js +57 -37
  181. package/extensions/ublock/js/storage.js +49 -29
  182. package/extensions/ublock/js/support.js +4 -4
  183. package/extensions/ublock/js/tab.js +1 -1
  184. package/extensions/ublock/js/tasks.js +1 -1
  185. package/extensions/ublock/js/text-encode.js +1 -1
  186. package/extensions/ublock/js/text-utils.js +1 -1
  187. package/extensions/ublock/js/theme.js +1 -1
  188. package/extensions/ublock/js/traffic.js +2 -1
  189. package/extensions/ublock/js/ublock.js +15 -11
  190. package/extensions/ublock/js/uri-utils.js +1 -1
  191. package/extensions/ublock/js/url-net-filtering.js +1 -1
  192. package/extensions/ublock/js/utils.js +1 -73
  193. package/extensions/ublock/js/vapi-background-ext.js +1 -1
  194. package/extensions/ublock/js/vapi-background.js +92 -83
  195. package/extensions/ublock/js/vapi-client.js +4 -33
  196. package/extensions/ublock/js/vapi-common.js +16 -30
  197. package/extensions/ublock/js/vapi.js +1 -1
  198. package/extensions/ublock/js/wasm/biditrie.wat +1 -1
  199. package/extensions/ublock/js/wasm/hntrie.wat +1 -1
  200. package/extensions/ublock/js/webext.js +1 -1
  201. package/extensions/ublock/js/whitelist.js +1 -1
  202. package/extensions/ublock/logger-ui.html +2 -2
  203. package/extensions/ublock/manifest.json +1 -1
  204. package/extensions/ublock/support.html +0 -1
  205. package/extensions/ublock/web_accessible_resources/dom-inspector.html +25 -0
  206. package/extensions/ublock/web_accessible_resources/epicker-ui.html +0 -1
  207. package/extensions/ublock/web_accessible_resources/googletagservices_gpt.js +1 -0
  208. package/package.json +7 -19
  209. package/scripts/build-open-api.js +7 -4
  210. package/src/browserless.ts +42 -18
  211. package/src/browsers/index.ts +48 -20
  212. package/src/file-system.spec.ts +58 -0
  213. package/src/file-system.ts +36 -8
  214. package/src/http.ts +3 -3
  215. package/src/router.ts +2 -6
  216. package/src/routes/chromium/http/content-post.ts +13 -16
  217. package/src/routes/chromium/http/download-post.ts +16 -27
  218. package/src/routes/chromium/http/function-post.ts +16 -25
  219. package/src/routes/chromium/http/pdf-post.ts +19 -15
  220. package/src/routes/chromium/http/performance.ts +14 -26
  221. package/src/routes/chromium/http/scrape-post.ts +14 -16
  222. package/src/routes/chromium/http/screenshot-post.ts +18 -15
  223. package/src/routes/chromium/tests/websocket.spec.ts +28 -1
  224. package/src/routes/chromium/utils/function/handler.ts +2 -1
  225. package/src/routes/chromium/ws/browser.ts +10 -12
  226. package/src/routes/chromium/ws/cdp-chromium.ts +10 -12
  227. package/src/routes/chromium/ws/page.ts +10 -12
  228. package/src/routes/chromium/ws/playwright-chromium.ts +10 -12
  229. package/src/routes/firefox/ws/playwright-firefox.ts +10 -12
  230. package/src/routes/management/http/config-get.ts +14 -23
  231. package/src/routes/management/http/metrics-get.ts +15 -24
  232. package/src/routes/management/http/metrics-total-get.ts +15 -26
  233. package/src/routes/management/http/sessions-get.ts +15 -23
  234. package/src/routes/management/http/static-get.ts +14 -22
  235. package/src/routes/webkit/ws/playwright-webkit.ts +10 -12
  236. package/src/server.ts +0 -1
  237. package/src/types.ts +59 -45
  238. package/static/docs/browserless-logo-inline.svg +1 -0
  239. package/static/docs/index.html +27 -0
  240. package/static/docs/swagger.json +33 -33
  241. package/static/function/client.js +626 -78
  242. package/extensions/ublock/js/vapi-client-extra.js +0 -312
  243. package/extensions/ublock/web_accessible_resources/addthis_widget.js +0 -39
  244. package/extensions/ublock/web_accessible_resources/ligatus_angular-tag.js +0 -29
  245. package/extensions/ublock/web_accessible_resources/monkeybroker.js +0 -43
  246. package/extensions/ublock/web_accessible_resources/mxpnl_mixpanel.js +0 -51
@@ -1,9 +1,8 @@
1
1
  ! Title: uBlock filters – Unbreak
2
2
  ! Expires: 5 days
3
- ! Last modified: Tue, 21 Nov 2023 20:24:47 +0000
3
+ ! Last modified: Wed, 03 Jan 2024 15:05:00 +0000
4
4
  ! Diff-Path: %diffpath%#ublock-unbreak
5
- ! Diff-Name: ublock-unbreak
6
- ! Diff-Expires: 5 hours
5
+ ! Diff-Expires: 317 minutes
7
6
  ! License: https://github.com/uBlockOrigin/uAssets/blob/master/LICENSE
8
7
  ! *** uAssets:filters/unbreak.txt ***
9
8
  ||2mdn.net/instream/video/client.js$script,redirect=noopjs,domain=video.foxnews.com
@@ -40,7 +39,6 @@
40
39
  ! http://www.slideshare.net/aidanajoyce/adblocking-blocking-more-than-ads
41
40
  ||ggwebcast.com/*/kaltura/ga/urchin.js$script,redirect=noopjs
42
41
  @@||media2.intoday.in/aajtak/$script,domain=aajtak.intoday.in|indiatoday.intoday.in
43
- @@||ahcdn.com/key=$xhr,domain=hdzog.com
44
42
  @@||jimmyjohns.com/Scripts/angularytics*.js$1p,script
45
43
  ! This unbreaks video playback on sky.de
46
44
  ! To counter `analytics.edgesuite.net` and `adobedtm.com` in EasyPrivacy
@@ -57,10 +55,6 @@
57
55
  ! To counter `adobedtm.com` in EasyPrivacy
58
56
  @@||assets.adobedtm.com^$script,domain=rogers.com
59
57
  @@||atlassian.com^*/analytics.js$script,1p
60
- @@||googletagmanager.com/gtm.js$script,domain=mediamarkt.de|saturn.de
61
- @@||google-analytics.com/analytics.js$script,domain=mediamarkt.de|saturn.de
62
- @@||googletagmanager.com/gtm.js$script,domain=bethesda.net
63
- @@||bat.bing.com/bat.js$script,domain=airbnb.co.uk|airbnb.com
64
58
  ! To counter `sumo.com` in Peter Lowe's
65
59
  ||sumo.com^$badfilter
66
60
  ||sumo.com^$3p,badfilter
@@ -72,17 +66,12 @@
72
66
  ||static.bbc.co.uk/bbcdotcom/*/adverts.js$script,1p,important,redirect=noopjs
73
67
  /ga_setup.js$badfilter
74
68
  ||lexus.com/lexus-share/js/tracking_omn/s_code.js$script,important,1p,redirect=noopjs
75
- @@||sephora.com/js/ufe/isomorphic/thirdparty/VisitorAPI.js$script,1p
76
- @@||edge1.certona.net/*$script,domain=sephora.com
77
- @@||fls.doubleclick.net^$frame,domain=billpay.suntrust.com
78
69
  pythonjobshq.com##+js(aopr, Keen)
79
70
  ! http://forums.mozillazine.org/viewtopic.php?f=38&t=3032369
80
71
  @@||hdliveextra-a.akamaihd.net^$domain=nbcsports.com
81
72
  @@||mps.nbcuni.com^$script,domain=csnne.com
82
- @@||alicdn.com/retcode/log/log.js$script,domain=alibaba.com
83
73
  @@||myaccounts.capitalone.com^$script,1p
84
74
  @@||travel.capitalone.com/api/v0/tracking/event$xhr,1p
85
- @@||players.brightcove.net^$frame,domain=usatoday.com
86
75
  @@||cdn.ampproject.org/*/amp-geo-$script,domain=bozemandailychronicle.com|engadget.com|kmbc.com|koat.com|pilotonline.com|richmond.com|stltoday.com|amp.tmz.com|tucson.com|amp.usatoday.com|watchdog.org
87
76
  @@/blockadblock.$script,domain=blockadblock.com
88
77
  ||carambo.la^*/getAngularLayer$script,redirect=noopjs,domain=imleagues.com
@@ -583,7 +572,7 @@ twitter.com#@#article[role="article"]:has-text(Promoted)
583
572
  ||farnell.com/*tracking.js$script,1p,redirect=noopjs
584
573
  @@||x.kinja-static.com/assets/packaged-js/trackers$script
585
574
  ||x.kinja-static.com/assets/packaged-js/trackers$script,domain=avclub.com|clickhole.com|deadspin.com|gizmodo.com|jalopnik.com|jezebel.com|kotaku.com|lifehacker.com|splinternews.com|theinventory.com|theonion.com|theroot.com|thetakeout.com,important
586
- avclub.com,clickhole.com,deadspin.com,gizmodo.com,jalopnik.com,jezebel.com,kotaku.com,lifehacker.com,splinternews.com,theinventory.com,theonion.com,theroot.com,thetakeout.com##+js(set, ga, noopFunc)
575
+ clickhole.com,deadspin.com,gizmodo.com,jalopnik.com,jezebel.com,kotaku.com,lifehacker.com,splinternews.com,theinventory.com,theonion.com,theroot.com,thetakeout.com##+js(set, ga, noopFunc)
587
576
  ||ultimedia.com/api/widget/$xhr,domain=techradar.com|tomsguide.com|tomshardware.com|videogamer.com
588
577
  @@||bazaarvoice.com/prod/static/*/bv-analytics.js$script,domain=chemistwarehouse.com.au
589
578
  @@||authorityhacker.com/wp-content/*/plugins/duracelltomi-google-tag-manager/*$script,1p
@@ -598,7 +587,7 @@ arstechnica.com#@#a[href^="https://www.amazon."][href*="tag="]
598
587
  ||pushengage.com^$badfilter
599
588
  */dw-tracking$script,important,redirect=noopjs,domain=techrepublic.com
600
589
  ||adtech.redventures.io/lib/*/bidbarrel-techrepublic-$script,important,redirect=noop.js,domain=techrepublic.com|zdnet.com
601
- ||2mdn.net/instream/html5/ima3.js$script,important,redirect=noopjs,domain=playercdn.earthtv.com
590
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect=google-ima.js,important,domain=player.earthtv.com
602
591
  @@||dogtime.com/wp-content/plugins/bwp-minify/min/*-google-analytics-$script,1p
603
592
  @@||los40.com^$ghide
604
593
  @@||epimg.net^$image,domain=los40.com
@@ -991,15 +980,9 @@ saltspringexchange.com#@#.single-ad
991
980
  ! broken videos youav .com
992
981
  *$script,3p,domain=youav.com,badfilter
993
982
  @@||wp.com/*/wp-content/plugins/master-slider/public/assets/css/blank.gif$image,domain=hearthstone-decks.net
994
- ||jsrdn.com^$badfilter
995
- @@||jsrdn.com/*webplayer.html$script
996
983
  ! aupetitparieur .com videos broken
997
984
  @@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=aupetitparieur.com
998
- @@||en25.com/Web/PhilipsLightingBV/$domain=consumer.forms.signify.com
999
- *$script,1p,domain=unblocktheship.org,badfilter
1000
- *$xhr,domain=unblocktheship.org,badfilter
1001
985
  @@||pxys.ezoic.net^$domain=lanaciondigital.es
1002
- @@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=mypodboxx.com
1003
986
  ! themeslide .com broken
1004
987
  *$xhr,redirect-rule=noopjs,domain=themeslide.com
1005
988
  @@||front.usereserva.com/libraries/*/GTM.min.js$script,1p
@@ -1043,25 +1026,12 @@ humanbenchmark.com##+js(set, pubg.unload, noopFunc)
1043
1026
  @@||message-fra.sp-prod.net^$script,xhr,domain=manager-magazin.de
1044
1027
  ||doubleclick.net/tag/js/gpt.js$script,redirect-rule=googletagservices_gpt.js,domain=aristeguinoticias.com
1045
1028
  @@||news12.com^$frame,1p
1046
- ! unlock waudeesestew .com images
1047
- *$image,3p,domain=waudeesestew.com,badfilter
1048
- ! shugraithou .com unlock images
1049
- *$image,3p,domain=shugraithou.com,badfilter
1050
- ! unlock images, css q1-tdsge .com
1051
- *$image,3p,domain=q1-tdsge.com,badfilter
1052
- *$css,3p,domain=q1-tdsge.com,badfilter
1053
- ! gamez1a .com unlock images css
1054
- *$image,3p,domain=gamez1a.com,badfilter
1055
- *$css,3p,domain=gamez1a.com,badfilter
1056
1029
  @@||treg.hearstnp.com/treg.js$script,domain=sfchronicle.com|sfgate.com
1057
1030
  politico.com##+js(set, generateGalleryAd, noopFunc)
1058
1031
  ||googlevideo.com^$media,redirect=noopmp4-1s,domain=mlb.com
1059
1032
  ! CNAME science-et-vie .com broken by some "clever" regex in liste fr (imported by adguard fr)
1060
1033
  @@||science-et-vie.com^$cname
1061
1034
  @@||assets.adobedtm.com^*/mbox-contents-$script,domain=nsat.collegeboard.org
1062
- ! broken page vidshare .tv
1063
- *$script,3p,domain=vidshare.tv,badfilter
1064
- *$css,3p,domain=vidshare.tv,badfilter
1065
1035
  hubblespacetelescope.blogspot.com#@#.vertical-ads
1066
1036
  ! tegna sites broken by -tracking.js? in EasyPrviacy
1067
1037
  */tegna-tracking.js$script,important,1p,redirect=noop.js
@@ -1182,12 +1152,11 @@ hero-magazine.com###header:style(position: inherit !important;)
1182
1152
  !#if env_firefox
1183
1153
  @@||googlesyndication.com/pagead/js/adsbygoogle.js$script,domain=caminogeek.com
1184
1154
  !#endif
1185
- @@||ads.adthrive.com/sites/*/ads.min.js$script,domain=a-z-animals.com|pimylifeup.com
1186
- @@||ads.adthrive.com/builds/core/*$script,domain=a-z-animals.com|pimylifeup.com
1155
+ @@||ads.adthrive.com/sites/*/ads.min.js$script,domain=a-z-animals.com|brewerfanatic.com|northsidebaseball.com|pimylifeup.com|twinsdaily.com
1156
+ @@||ads.adthrive.com/builds/core/*$script,domain=a-z-animals.com|brewerfanatic.com|northsidebaseball.com|pimylifeup.com|twinsdaily.com
1187
1157
  pimylifeup.com##+js(no-fetch-if, marmalade)
1188
- pimylifeup.com#@#.adthrive
1189
- a-z-animals.com#@#.adthrive-video-player
1190
- a-z-animals.com#@#.adthrive
1158
+ a-z-animals.com,brewerfanatic.com,northsidebaseball.com,pimylifeup.com,twinsdaily.com#@#.adthrive
1159
+ a-z-animals.com,brewerfanatic.com,northsidebaseball.com,twinsdaily.com#@#.adthrive-video-player
1191
1160
  ! egy.best broken download buttons
1192
1161
  ||cdn-static.egybest.*/packed/$badfilter
1193
1162
  ||securepubads.g.doubleclick.net/tag/js/gpt.js$script,important,redirect=noop.js,domain=indy100.com
@@ -1212,7 +1181,6 @@ beppegrillo.it#@#a[href^="https://www.amazon."][href*="tag="]
1212
1181
  *$script,3p,domain=coinmarketcap.com,badfilter
1213
1182
  ! babesxworld site blocked by french list
1214
1183
  *$script,domain=babesxworld.com,badfilter
1215
- pioneer.eu##+js(ra, onclick, a[href][onclick^="trackOutboundLink"])
1216
1184
  ||go.netcraftsmen.com^$1p,frame
1217
1185
  ! allow sign-in on kitsunekko.net
1218
1186
  @@||apis.google.com/js/platform.js$script,domain=kitsunekko.net
@@ -1453,7 +1421,7 @@ coolmathgames.com##+js(set, network_user_id, '')
1453
1421
  @@||go.pardot.com/$frame,domain=womensworldbanking.org
1454
1422
  @@||api.ipdata.co/?api-key=$script,domain=wttw.com
1455
1423
  @@||cdn.ampproject.org/*/amp-geo-$script,domain=9to5google.com|9to5mac.com
1456
- @@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=olympics.com
1424
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect-rule=google-ima.js,domain=olympics.com
1457
1425
  ://ads.$popup,domain=~smartnews.com,badfilter
1458
1426
  ://ads.$popup,domain=~kakaku.com|~smartnews.com
1459
1427
  !#if env_mobile
@@ -1584,8 +1552,6 @@ himovies.to#@#a[onclick]
1584
1552
  @@||sumo.com/api/$xhr,domain=gopractice.ru
1585
1553
  @@||sumo.com/services$xhr,domain=gopractice.ru
1586
1554
  @@||google.com/recaptcha/$frame,script
1587
- ! breaking links https://kimcartoon.li/Cartoon/Doomlands
1588
- ||ghosthis.review^$badfilter
1589
1555
  ||rudaw.net/images/$image,1p,redirect-rule=1x1.gif,important
1590
1556
  @@||google-analytics.com/analytics.js$script,redirect-rule=google-analytics.com/analytics.js,domain=layrite.com
1591
1557
  ! comment section broken by Peter Lowe’s list
@@ -1684,9 +1650,6 @@ cadenadial.com##+js(aost, History, /(^(?!.*(Function|HTMLDocument).*))/)
1684
1650
  @@||builder-assets.unbounce.com/published-js/main.bundle-$script,domain=duden.de
1685
1651
  ! unbreak video
1686
1652
  @@||ricasdelicias.online/social.php$popup,domain=animesonline.cz
1687
- ! reported to be a dropgalaxy alias
1688
- ||ruokareseptit.online^$badfilter
1689
- ||ruokareseptit.online^$3p
1690
1653
  ! fix slide images
1691
1654
  @@||laptopoutlet.co.uk/wysiwyg/asus/rise-up/popunder-$image,1p
1692
1655
  @@||laptopoutlet.co.uk/wysiwyg/lenovo/*_popunder_$image,1p
@@ -1736,7 +1699,7 @@ job.mt.de,job.nw.de#@#+js(nostif, .call(null), 10)
1736
1699
  @@||api2.branch.io/v1/url$xhr,domain=ecwid.com
1737
1700
  @@||cdn.appdynamics.com/adrum/adrum-*.js$domain=santander.cl
1738
1701
  ||ads.tiktok.com^$badfilter
1739
- @@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=oe24.at
1702
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect=google-ima.js,important,domain=oe24.at
1740
1703
  @@||m.faz.net^$cname
1741
1704
  @@||last.fm/static/js-build/tracking/tealium-utag-set.js$script,1p
1742
1705
  @@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=html5.gamedistribution.com
@@ -2042,6 +2005,7 @@ jacksonguitars.com##+js(set, analytics, {})
2042
2005
  @@||vid.connatix.com/pid-$3p,media,xhr
2043
2006
  @@||cds.connatix.com/p/*/elements.ui.$3p,script
2044
2007
  @@||cds.connatix.com/*/hls$script,3p
2008
+ @@||cds.connatix.com/p/*/cSyncRemoteEntry.js^$3p,script
2045
2009
  #@#.wps-player-wrap
2046
2010
  @@||img.connatix.com/*.jpg$3p,image,domain=accuweather.com
2047
2011
  bellinghamherald.com,bnd.com,bradenton.com,centredaily.com,charlotteobserver.com,flkeysnews.com,fresnobee.com,heraldonline.com,heraldsun.com,idahostatesman.com,islandpacket.com,kansas.com,kansascity.com,kentucky.com,ledger-enquirer.com,macon.com,mahoningmatters.com,mcclatchydc.com,mercedsunstar.com,miamiherald.com,modbee.com,myrtlebeachonline.com,newsobserver.com,sacbee.com,sanluisobispo.com,star-telegram.com,sunherald.com##^html:not(:has(video)) > head > script:has-text(connatix.com)
@@ -2063,9 +2027,6 @@ mediaite.com##.adthrive-video-player:style(padding-bottom: 0 !important;)
2063
2027
  ! unbreak sagicheck.jp - checking bad url pattern triggers strict-blocking
2064
2028
  @@||sagicheck.jp/jp/check/$doc
2065
2029
  ||lightning.cnn.com/launch/$script,redirect-rule=noopjs
2066
- @@||afreecatv.com/api/$xhr,1p
2067
- @@||afreecatv.com^$script,1p
2068
- @@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=vod.afreecatv.com
2069
2030
  @@||catchup.thisisdax.com/*.m4a$media,domain=globalplayer.com
2070
2031
  ||scandichotels.com/Static/js/tracking/tracking-data-init.js^$script,1p,important
2071
2032
  scandichotels.com##+js(set, datalayer, [])
@@ -2089,7 +2050,7 @@ muropaketti.com##body.noImages .content img:style(display: inline-block !importa
2089
2050
  jayisgames.com##.widget-topad:style(padding-bottom: 20px !important;)
2090
2051
  @@||fpnpmcdn.net/v*/loader$script,domain=app.writesonic.com
2091
2052
  *$image,redirect-rule=1x1.gif,domain=go-girl.com
2092
- @@||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=pac-12.com
2053
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect-rule=google-ima.js,domain=pac-12.com
2093
2054
  ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=vtvgiaitri.vn,redirect-rule=google-ima.js
2094
2055
  stylist.co.uk##+js(set, Object.prototype.isInitialLoadDisabled, noopFunc)
2095
2056
  hornoxe.com#@#div.post:has(a[href^="https://www.amazon.de/"])
@@ -2267,7 +2228,7 @@ fandom.com##+js(set, optimizely.initialized, true)
2267
2228
  @@||googletagmanager.com/gtm.js$script,domain=festool.*|festoolcanada.com|festoolusa.com
2268
2229
  uqload.co#@#+js(abort-current-script, document.createElement, break;case $.)
2269
2230
  @@||areaclienti.generali.it/AreaClienti/plugins/dynatrace-cordova-plugin/$script,1p
2270
- eksisozluk1923.com##.ad-banner:remove()
2231
+ eksisozluk111.com##.ad-banner:remove()
2271
2232
  ! Broken by Lowe's list
2272
2233
  @@||googletagmanager.com/gtm.js$script,domain=aruba.it
2273
2234
  @@||googletagmanager.com/gtm.js$script,domain=pec.it
@@ -2362,7 +2323,7 @@ neurotray.com##+js(nano-stb, /EzoIvent|TDELAY/, 5000)
2362
2323
  @@||go.ezodn.com^$css,image,3p,domain=neurotray.com
2363
2324
  @@||go.ezodn.com/tardisrocinante/$script,3p,domain=neurotray.com
2364
2325
  @@||receiita.xyz^$popup,domain=animexhd.com
2365
- ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,important,redirect=google-ima.js:5,domain=abczdrowie.pl|animezone.pl|antyradio.pl|chillizet.pl|claudia.pl|echirurgia.pl|elevensports.pl|elle.pl|elleman.pl|fm.tuba.pl|focusnauka.pl|games.cdn.famobi.com|glamour.pl|grydladzieci.pl|ipla.tv|ipla.tv|kobieta.pl|meloradio.pl|mojegotowanie.pl|mojpieknyogrod.pl|money.pl|national-geographic.pl|parenting.pl|partner.redefine.pl|player.pl|playpuls.pl|pluscdn.pl|polsatgo.pl|polsatnews.pl|polsatsport.pl|przyslijprzepis.pl|radioplus.pl|radiozet.pl|sadeczanin.info|tvokazje.pl|tvp.pl|twojapogoda.pl|video.onnetwork.tv|videotarget.pl|wp.pl|wtk.pl|interia.pl|www.polsatnews.pl|autocentrum.pl
2326
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,important,redirect=google-ima.js:5,domain=abczdrowie.pl|animezone.pl|antyradio.pl|chillizet.pl|claudia.pl|echirurgia.pl|elevensports.pl|elle.pl|elleman.pl|fm.tuba.pl|focusnauka.pl|games.cdn.famobi.com|glamour.pl|grydladzieci.pl|ipla.tv|ipla.tv|kobieta.pl|meloradio.pl|mojegotowanie.pl|mojpieknyogrod.pl|money.pl|national-geographic.pl|parenting.pl|partner.redefine.pl|playpuls.pl|pluscdn.pl|polsatgo.pl|polsatnews.pl|polsatsport.pl|przyslijprzepis.pl|radioplus.pl|radiozet.pl|sadeczanin.info|tvokazje.pl|tvp.pl|twojapogoda.pl|video.onnetwork.tv|videotarget.pl|wp.pl|wtk.pl|interia.pl|www.polsatnews.pl|autocentrum.pl
2366
2327
  virginmediatelevision.ie##+js(set, google.ima.dai, {})
2367
2328
  ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect-rule=google-ima.js,domain=virginmediatelevision.ie
2368
2329
  @@||imasdk.googleapis.com/js/sdkloader/ima3_dai.js$script,domain=virginmediatelevision.ie
@@ -2446,3 +2407,35 @@ lumens.com##+js(set, _satellite, {})
2446
2407
  lumens.com##+js(set, _satellite.track, noopFunc)
2447
2408
  ||analytics.skroutz.gr/analytics.min.js^$script,1p,redirect-rule=noop.js
2448
2409
  @@||hdblog.it/new_files/ajax/bf_new.php$frame,1p
2410
+ @@||worker.clerkprod-cloudflare.net^$xhr,domain=qiwi.gg
2411
+ @@||cdns.brsrvr.com/v1/br-trk-*.js^$script,3p,domain=uncommongoods.com
2412
+ @@||ads.viralize.tv/player/$domain=automoto.it|moto.it|ilrestodelcarlino.it|quotidiano.net
2413
+ @@||ads.viralize.tv/display/$domain=automoto.it|moto.it|ilrestodelcarlino.it|quotidiano.net
2414
+ @@||ads.viralize.tv/t-bid-opportunity/$domain=automoto.it|moto.it
2415
+ @@||ads.viralize.tv/d-vast/$domain=automoto.it|moto.it
2416
+ @@||ads.viralize.tv^|$domain=automoto.it|moto.it
2417
+ @@||monetize-static.viralize.tv/prebid.min.$domain=automoto.it|moto.it
2418
+ @@||npttech.com/advertising.js$domain=independent.co.uk
2419
+ ||inmobi.com^$badfilter
2420
+ @@||twinkie.xyz/cdn-cgi/apps/$script,1p
2421
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,3p,redirect-rule=google-ima.js,domain=androidpolice.com
2422
+ @@||cdn.adsninja.ca/adsninja_client$css,script,3p,domain=androidpolice.com
2423
+ @@||androidpolice.com^$ghide
2424
+ androidpolice.com##.adsninja-ad-zone:not(.adsninja-valstream)
2425
+ ! Override EasyList Germany exceptions
2426
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,important,redirect=google-ima.js,domain=atv.at|autobild.de|chip.de|computerbild.de|gentside.de|oe24.at|ohmymag.de|phonostar.de|schwaebische.de|spielaffe.de|sport.sky.de|wetteronline.de
2427
+ ||jsrdn.com^$badfilter
2428
+ ! cname https://github.com/uBlockOrigin/uAssets/issues/21297#issuecomment-1848938391
2429
+ @@||geo.dailymotion.com^$cname
2430
+ ||munchkin.marketo.net/munchkin.js$script,important,redirect=noop.js,domain=st.com
2431
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,3p,redirect=google-ima3,domain=humix.com|mistergadget.tech,important
2432
+ meijer.com#@#.product-grid__product:has(.product-tile__sponsored)
2433
+ /web-vitals.$script,redirect-rule=noopjs,domain=amazon.com
2434
+ @@||amazonwebservicesinc.tt.omtrdc.net/m2/amazonwebservicesinc/ubox/raw$xhr,3p,domain=aws.amazon.com
2435
+ ||amazonwebservicesinc.tt.omtrdc.net/m2/amazonwebservicesinc/ubox/raw$xhr,3p,removeparam,domain=aws.amazon.com
2436
+ ||cdnwebonplay.gviet.vn/public/js/player/ads/ima3.js$script,3p,redirect=google-ima.js,domain=vtvcab.vn,important
2437
+ @@||amazon.*/action-impressions/1/OP/$xhr,1p
2438
+ msn.com#@#.intra-article-module
2439
+ #@#[id^="adv-"]:not(#adv-settings)
2440
+ commande.rhinov.pro##+js(set, Sentry, {})
2441
+ commande.rhinov.pro##+js(set, Sentry.init, noopFunc)
@@ -289,16 +289,14 @@
289
289
  .CodeMirror-lintmarker > * {
290
290
  position: absolute;
291
291
  }
292
- .CodeMirror-lintmarker[data-lint="error"] {
292
+ .CodeMirror-lintmarker[data-error="y"] {
293
293
  background-color: var(--sf-error-ink);
294
294
  }
295
- .CodeMirror-lintmarker[data-lint="error"] .msg {
296
- display: none;
297
- }
298
- .CodeMirror-lintmarker[data-lint="error"] .msg {
295
+ .CodeMirror-lintmarker .msg {
299
296
  background-color: var(--surface-0);
300
297
  border: 1px solid var(--sf-error-ink);
301
298
  color: var(--ink-1);
299
+ display: none;
302
300
  filter: drop-shadow(2px 2px 4px #0008);
303
301
  left: 100%;
304
302
  padding: var(--default-gap-xsmall);
@@ -311,6 +309,9 @@
311
309
  top: 15%;
312
310
  width: 70%;
313
311
  }
312
+ .CodeMirror-lintmarker[data-error="y"] svg {
313
+ display: none;
314
+ }
314
315
  .CodeMirror-lintmarker[data-fold="start"] {
315
316
  fill: var(--cm-foldmarker-ink);
316
317
  }
@@ -320,7 +321,7 @@
320
321
  .CodeMirror-lintmarker[data-fold="end"] {
321
322
  fill: var(--border-2);
322
323
  }
323
- .CodeMirror-lintmarker[data-lint="error"]:hover > span,
324
- .CodeMirror-lintmarker[data-lint="error"] > span:hover {
324
+ .CodeMirror-lintmarker[data-error="y"]:hover > span,
325
+ .CodeMirror-lintmarker[data-error="y"] > span:hover {
325
326
  display: initial;
326
327
  }
@@ -0,0 +1,40 @@
1
+ html#ublock0-inspector,
2
+ #ublock0-inspector body {
3
+ background: transparent;
4
+ box-sizing: border-box;
5
+ height: 100vh;
6
+ margin: 0;
7
+ overflow: hidden;
8
+ width: 100vw;
9
+ }
10
+ #ublock0-inspector :focus {
11
+ outline: none;
12
+ }
13
+ #ublock0-inspector svg {
14
+ box-sizing: border-box;
15
+ height: 100%;
16
+ left: 0;
17
+ pointer-events: none;
18
+ position: fixed;
19
+ top: 0;
20
+ width: 100%;
21
+ }
22
+ #ublock0-inspector svg > path {
23
+ stroke-width: 1px;
24
+ }
25
+ #ublock0-inspector svg > path:nth-of-type(1) {
26
+ fill: rgba(255,0,0,0.2);
27
+ stroke: #F00;
28
+ }
29
+ #ublock0-inspector svg > path:nth-of-type(2) {
30
+ fill: rgba(0,255,0,0.2);
31
+ stroke: #0F0;
32
+ }
33
+ #ublock0-inspector svg > path:nth-of-type(3) {
34
+ fill: rgba(255,0,0,0.2);
35
+ stroke: #F00;
36
+ }
37
+ #ublock0-inspector svg > path:nth-of-type(4) {
38
+ fill: rgba(0,0,255,0.1);
39
+ stroke: #00F;
40
+ }
@@ -7,6 +7,12 @@
7
7
  #domInspector .permatoolbar .highlightMode.invert {
8
8
  transform: rotate(180deg);
9
9
  }
10
+ #domInspector button.vExpandToggler > .fa-icon {
11
+ transform: scaleY(-1)
12
+ }
13
+ #domInspector button.vCompactToggler > .fa-icon {
14
+ transform: scaleY(1)
15
+ }
10
16
  #domInspector .vscrollable {
11
17
  overflow-x: auto;
12
18
  }
@@ -84,7 +90,7 @@
84
90
  display: none;
85
91
  }
86
92
 
87
- #domInspector:not(.vExpanded) li:not(.hasCosmeticHide):not(.isCosmeticHide) {
93
+ #domInspector li:not(.hasCosmeticHide):not(.isCosmeticHide):not(.show) {
88
94
  display: none;
89
95
  }
90
96
  #domInspector #domTree > li {
@@ -8,7 +8,8 @@ body {
8
8
  textarea {
9
9
  box-sizing: border-box;
10
10
  direction: ltr;
11
- resize: none;
11
+ min-height: 6rem;
12
+ resize: vertical;
12
13
  width: 100%;
13
14
  }
14
15
  .permatoolbar {
@@ -78,6 +79,9 @@ textarea {
78
79
  overflow-y: auto;
79
80
  }
80
81
 
82
+ #domInspector button.vExpandToggler > .fa-icon {
83
+ transform: scaleY(1)
84
+ }
81
85
  .inspector:not(.vExpanded) button.vCompactToggler > .fa-icon {
82
86
  transform: scaleY(-1)
83
87
  }
@@ -267,10 +271,10 @@ body[dir="rtl"] #netInspector #filterExprPicker {
267
271
  color: white;
268
272
  }
269
273
  #vwRenderer .logEntry > div[data-type="error"] {
270
- color: #800;
274
+ color: var(--sf-error-ink);
271
275
  }
272
276
  #vwRenderer .logEntry > div[data-type="info"] {
273
- color: #008;
277
+ color: var(--sf-def-ink);
274
278
  }
275
279
  #vwRenderer .logEntry > div.voided {
276
280
  opacity: 0.5;
@@ -305,9 +309,12 @@ body[dir="rtl"] #vwRenderer .logEntry > div > span:first-child {
305
309
  }
306
310
  #vwRenderer .logEntry > div > span:nth-of-type(2) {
307
311
  }
308
- #vwRenderer #vwContent .logEntry > div > span:nth-of-type(2) {
312
+ #vwRenderer .logEntry > div > span:nth-of-type(2) {
309
313
  text-overflow: ellipsis;
310
314
  }
315
+ #vwRenderer .logEntry > div.messageRealm > span:nth-of-type(2) ~ span {
316
+ display: none;
317
+ }
311
318
  .vExpanded #vwRenderer #vwContent .logEntry > div > span:nth-of-type(2) {
312
319
  overflow-y: auto;
313
320
  white-space: pre-line;
@@ -484,7 +491,7 @@ body[dir="rtl"] .closeButton {
484
491
  border: 1px solid gray;
485
492
  bottom: 0;
486
493
  display: none;
487
- max-height: 70vh;
494
+ max-height: min(800px, calc(100vh - 2rem));
488
495
  min-width: 360px;
489
496
  overflow: hidden;
490
497
  position: fixed;
@@ -736,7 +736,7 @@ body:not([data-more*="e"]) [data-more="e"] {
736
736
  min-width: unset;
737
737
  overflow-y: hidden;
738
738
  }
739
- :root.portrait #firewall-vspacer {
739
+ :root.portrait body[data-more*="e"] #firewall-vspacer {
740
740
  display: block;
741
741
  }
742
742
 
@@ -29,6 +29,7 @@
29
29
  <button id="snfe-todnr" type="button">SNFE: DNR<span class="hover"></span></button>
30
30
  <button id="snfe-benchmark" type="button" disabled>SNFE: Benchmark<span class="hover"></span></button>
31
31
  <button id="cfe-dump" type="button">CFE: Dump<span class="hover"></span></button>
32
+ <button id="purge-all-caches" type="button" data-i18n-title="3pPurgeAll"><span data-i18n="3pPurgeAll">_</span><span class="hover"></span></button>
32
33
  </div>
33
34
  <div id="console" class="codeMirrorContainer"></div>
34
35
 
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a browser extension to block requests.
3
+ uBlock Origin - a comprehensive, efficient content blocker
4
4
  Copyright (C) 2014-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -23,8 +23,9 @@
23
23
 
24
24
  'use strict';
25
25
 
26
- import { i18n$ } from './i18n.js';
26
+ import { onBroadcast } from './broadcast.js';
27
27
  import { dom, qs$ } from './dom.js';
28
+ import { i18n$ } from './i18n.js';
28
29
  import './codemirror/ubo-static-filtering.js';
29
30
 
30
31
  /******************************************************************************/
@@ -310,7 +311,7 @@ dom.on('#userFiltersRevert', 'click', revertChanges);
310
311
 
311
312
  // https://github.com/gorhill/uBlock/issues/3704
312
313
  // Merge changes to user filters occurring in the background
313
- vAPI.broadcastListener.add(msg => {
314
+ onBroadcast(msg => {
314
315
  switch ( msg.what ) {
315
316
  case 'userFiltersUpdated': {
316
317
  cmEditor.startOperation();
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a browser extension to block requests.
3
+ uBlock Origin - a comprehensive, efficient content blocker
4
4
  Copyright (C) 2014-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -21,8 +21,9 @@
21
21
 
22
22
  'use strict';
23
23
 
24
- import { i18n, i18n$ } from './i18n.js';
24
+ import { onBroadcast } from './broadcast.js';
25
25
  import { dom, qs$, qsa$ } from './dom.js';
26
+ import { i18n, i18n$ } from './i18n.js';
26
27
 
27
28
  /******************************************************************************/
28
29
 
@@ -35,9 +36,7 @@ let listsetDetails = {};
35
36
 
36
37
  /******************************************************************************/
37
38
 
38
- const messaging = vAPI.messaging;
39
-
40
- vAPI.broadcastListener.add(msg => {
39
+ onBroadcast(msg => {
41
40
  switch ( msg.what ) {
42
41
  case 'assetUpdated':
43
42
  updateAssetStatus(msg);
@@ -130,7 +129,9 @@ const renderFilterLists = ( ) => {
130
129
  dom.attr(elem, 'href', listDetails.instructionURL || '#');
131
130
  }
132
131
  dom.cl.toggle(listEntry, 'isDefault',
133
- listDetails.isDefault === true || listkey === 'user-filters'
132
+ listDetails.isDefault === true ||
133
+ listDetails.isImportant === true ||
134
+ listkey === 'user-filters'
134
135
  );
135
136
  elem = qs$(listEntry, '.leafstats');
136
137
  dom.text(elem, renderLeafStats(on ? listDetails.entryUsedCount : 0, listDetails.entryCount));
@@ -275,7 +276,7 @@ const renderFilterLists = ( ) => {
275
276
  renderWidgets();
276
277
  };
277
278
 
278
- messaging.send('dashboard', {
279
+ return vAPI.messaging.send('dashboard', {
279
280
  what: 'getLists',
280
281
  }).then(response => {
281
282
  onListsReceived(response);
@@ -294,9 +295,6 @@ const renderWidgets = ( ) => {
294
295
  updating === false &&
295
296
  qs$('#lists .listEntry.checked.obsolete:not(.toRemove)') === null
296
297
  );
297
- dom.cl.toggle('#buttonPurgeAll', 'disabled',
298
- updating || qs$('#lists .listEntry.cached:not(.obsolete)') === null
299
- );
300
298
  };
301
299
 
302
300
  /******************************************************************************/
@@ -508,9 +506,10 @@ const onPurgeClicked = ev => {
508
506
  dom.cl.remove(listLeaf, 'cached');
509
507
  }
510
508
 
511
- messaging.send('dashboard', {
512
- what: 'purgeCaches',
509
+ vAPI.messaging.send('dashboard', {
510
+ what: 'listsUpdateNow',
513
511
  assetKeys,
512
+ preferOrigin: ev.shiftKey,
514
513
  });
515
514
 
516
515
  // If the cached version is purged, the installed version must be assumed
@@ -518,6 +517,7 @@ const onPurgeClicked = ev => {
518
517
  // https://github.com/gorhill/uBlock/issues/1733
519
518
  // An external filter list must not be marked as obsolete, they will
520
519
  // always be fetched anyways if there is no cached copy.
520
+ dom.cl.add(dom.body, 'updating');
521
521
  dom.cl.add(liEntry, 'obsolete');
522
522
 
523
523
  if ( qs$(liEntry, 'input[type="checkbox"]').checked ) {
@@ -532,7 +532,7 @@ dom.on('#lists', 'click', 'span.cache', onPurgeClicked);
532
532
  const selectFilterLists = async ( ) => {
533
533
  // Cosmetic filtering switch
534
534
  let checked = qs$('#parseCosmeticFilters').checked;
535
- messaging.send('dashboard', {
535
+ vAPI.messaging.send('dashboard', {
536
536
  what: 'userSettings',
537
537
  name: 'parseAllABPHideFilters',
538
538
  value: checked,
@@ -540,7 +540,7 @@ const selectFilterLists = async ( ) => {
540
540
  listsetDetails.parseCosmeticFilters = checked;
541
541
 
542
542
  checked = qs$('#ignoreGenericCosmeticFilters').checked;
543
- messaging.send('dashboard', {
543
+ vAPI.messaging.send('dashboard', {
544
544
  what: 'userSettings',
545
545
  name: 'ignoreGenericCosmeticFilters',
546
546
  value: checked,
@@ -579,7 +579,7 @@ const selectFilterLists = async ( ) => {
579
579
 
580
580
  hashFromListsetDetails();
581
581
 
582
- await messaging.send('dashboard', {
582
+ await vAPI.messaging.send('dashboard', {
583
583
  what: 'applyFilterListSelection',
584
584
  toSelect,
585
585
  toImport,
@@ -594,7 +594,7 @@ const buttonApplyHandler = async ( ) => {
594
594
  dom.cl.add(dom.body, 'working');
595
595
  dom.cl.remove('#lists .listEntry.stickied', 'stickied');
596
596
  renderWidgets();
597
- await messaging.send('dashboard', { what: 'reloadAllFilters' });
597
+ await vAPI.messaging.send('dashboard', { what: 'reloadAllFilters' });
598
598
  dom.cl.remove(dom.body, 'working');
599
599
  };
600
600
 
@@ -607,28 +607,16 @@ const buttonUpdateHandler = async ( ) => {
607
607
  await selectFilterLists();
608
608
  dom.cl.add(dom.body, 'updating');
609
609
  renderWidgets();
610
- messaging.send('dashboard', { what: 'forceUpdateAssets' });
610
+ vAPI.messaging.send('dashboard', { what: 'updateNow' });
611
611
  };
612
612
 
613
613
  dom.on('#buttonUpdate', 'click', ( ) => { buttonUpdateHandler(); });
614
614
 
615
615
  /******************************************************************************/
616
616
 
617
- const buttonPurgeAllHandler = async hard => {
618
- await messaging.send('dashboard', {
619
- what: 'purgeAllCaches',
620
- hard,
621
- });
622
- renderFilterLists(true);
623
- };
624
-
625
- dom.on('#buttonPurgeAll', 'click', ev => { buttonPurgeAllHandler(ev.shiftKey); });
626
-
627
- /******************************************************************************/
628
-
629
617
  const userSettingCheckboxChanged = ( ) => {
630
618
  const target = event.target;
631
- messaging.send('dashboard', {
619
+ vAPI.messaging.send('dashboard', {
632
620
  what: 'userSettings',
633
621
  name: target.id,
634
622
  value: target.checked,
@@ -862,6 +850,12 @@ self.hasUnsavedData = function() {
862
850
 
863
851
  /******************************************************************************/
864
852
 
865
- renderFilterLists();
853
+ renderFilterLists().then(( ) => {
854
+ const buttonUpdate = qs$('#buttonUpdate');
855
+ if ( dom.cl.has(buttonUpdate, 'active') ) { return; }
856
+ if ( dom.cl.has(buttonUpdate, 'disabled') ) { return; }
857
+ if ( listsetDetails.autoUpdate !== true ) { return; }
858
+ buttonUpdateHandler();
859
+ });
866
860
 
867
861
  /******************************************************************************/
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a browser extension to block requests.
3
+ uBlock Origin - a comprehensive, efficient content blocker
4
4
  Copyright (C) 2014-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a browser extension to block requests.
3
+ uBlock Origin - a comprehensive, efficient content blocker
4
4
  Copyright (C) 2016-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a browser extension to block requests.
3
+ uBlock Origin - a comprehensive, efficient content blocker
4
4
  Copyright (C) 2014-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify