@browserless.io/browserless 2.37.0 → 2.38.0

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 (492) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/build/browsers/index.js +15 -0
  3. package/build/routes/chrome/http/content.post.query.json +3 -0
  4. package/build/routes/chrome/http/download.post.query.json +3 -0
  5. package/build/routes/chrome/http/function.post.query.json +3 -0
  6. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  7. package/build/routes/chrome/http/performance.post.query.json +3 -0
  8. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  9. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  10. package/build/routes/chrome/tests/content.spec.js +21 -0
  11. package/build/routes/chrome/tests/json.spec.js +100 -0
  12. package/build/routes/chrome/ws/browser.query.json +3 -0
  13. package/build/routes/chrome/ws/cdp.query.json +3 -0
  14. package/build/routes/chrome/ws/function-connect.query.json +3 -0
  15. package/build/routes/chrome/ws/page.query.json +3 -0
  16. package/build/routes/chromium/http/content.post.query.json +3 -0
  17. package/build/routes/chromium/http/download.post.query.json +3 -0
  18. package/build/routes/chromium/http/function.post.query.json +3 -0
  19. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  20. package/build/routes/chromium/http/performance.post.query.json +3 -0
  21. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  22. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  23. package/build/routes/chromium/tests/content.spec.js +21 -0
  24. package/build/routes/chromium/tests/function.spec.js +27 -0
  25. package/build/routes/chromium/tests/json.spec.js +100 -0
  26. package/build/routes/chromium/ws/browser.query.json +3 -0
  27. package/build/routes/chromium/ws/cdp.query.json +3 -0
  28. package/build/routes/chromium/ws/function-connect.query.json +3 -0
  29. package/build/routes/chromium/ws/page.query.json +3 -0
  30. package/build/routes/edge/http/content.post.query.json +3 -0
  31. package/build/routes/edge/http/download.post.query.json +3 -0
  32. package/build/routes/edge/http/function.post.query.json +3 -0
  33. package/build/routes/edge/http/pdf.post.query.json +3 -0
  34. package/build/routes/edge/http/performance.post.query.json +3 -0
  35. package/build/routes/edge/http/scrape.post.query.json +3 -0
  36. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  37. package/build/routes/edge/tests/content.spec.js +21 -0
  38. package/build/routes/edge/tests/json.spec.js +100 -0
  39. package/build/routes/edge/ws/browser.query.json +3 -0
  40. package/build/routes/edge/ws/cdp.query.json +3 -0
  41. package/build/routes/edge/ws/function-connect.query.json +3 -0
  42. package/build/routes/edge/ws/page.query.json +3 -0
  43. package/build/routes/management/http/kill.get.query.json +3 -0
  44. package/build/routes/management/http/sessions.get.query.json +3 -0
  45. package/build/routes/management/tests/management.spec.js +44 -0
  46. package/build/server.js +1 -1
  47. package/build/shim.js +11 -1
  48. package/build/shim.spec.js +14 -0
  49. package/build/types.d.ts +2 -0
  50. package/extensions/ublocklite/_locales/ar/messages.json +5 -5
  51. package/extensions/ublocklite/_locales/br_FR/messages.json +2 -2
  52. package/extensions/ublocklite/_locales/cs/messages.json +8 -8
  53. package/extensions/ublocklite/_locales/da/messages.json +5 -5
  54. package/extensions/ublocklite/_locales/de/messages.json +1 -1
  55. package/extensions/ublocklite/_locales/es/messages.json +4 -4
  56. package/extensions/ublocklite/_locales/fa/messages.json +8 -8
  57. package/extensions/ublocklite/_locales/gl/messages.json +5 -5
  58. package/extensions/ublocklite/_locales/hu/messages.json +5 -5
  59. package/extensions/ublocklite/_locales/ka/messages.json +5 -5
  60. package/extensions/ublocklite/_locales/nb/messages.json +7 -7
  61. package/extensions/ublocklite/_locales/pt_PT/messages.json +9 -9
  62. package/extensions/ublocklite/_locales/ro/messages.json +32 -32
  63. package/extensions/ublocklite/_locales/ru/messages.json +3 -3
  64. package/extensions/ublocklite/_locales/sq/messages.json +5 -5
  65. package/extensions/ublocklite/_locales/sv/messages.json +5 -5
  66. package/extensions/ublocklite/_locales/zh_CN/messages.json +5 -5
  67. package/extensions/ublocklite/css/settings.css +6 -0
  68. package/extensions/ublocklite/dashboard.html +1 -1
  69. package/extensions/ublocklite/js/background.js +29 -8
  70. package/extensions/ublocklite/js/dashboard.js +4 -5
  71. package/extensions/ublocklite/js/jsonpath.js +25 -10
  72. package/extensions/ublocklite/js/mode-manager.js +7 -9
  73. package/extensions/ublocklite/js/report.js +2 -4
  74. package/extensions/ublocklite/js/scripting/css-api.js +33 -0
  75. package/extensions/ublocklite/js/scripting/css-generic.js +3 -13
  76. package/extensions/ublocklite/js/scripting/css-procedural-api.js +1 -9
  77. package/extensions/ublocklite/js/scripting/css-procedural.js +1 -5
  78. package/extensions/ublocklite/js/scripting/css-specific.js +1 -5
  79. package/extensions/ublocklite/js/scripting-manager.js +11 -8
  80. package/extensions/ublocklite/js/troubleshooting.js +33 -18
  81. package/extensions/ublocklite/js/utils.js +15 -13
  82. package/extensions/ublocklite/manifest.json +3 -2
  83. package/extensions/ublocklite/rulesets/generic-details.json +4 -2
  84. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +4 -5
  85. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +13 -8
  86. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +24 -18
  87. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +2 -1
  88. package/extensions/ublocklite/rulesets/main/annoyances-others.json +3 -2
  89. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -3
  90. package/extensions/ublocklite/rulesets/main/chn-0.json +26 -16
  91. package/extensions/ublocklite/rulesets/main/deu-0.json +4 -4
  92. package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -1
  93. package/extensions/ublocklite/rulesets/main/easylist.json +44 -101
  94. package/extensions/ublocklite/rulesets/main/easyprivacy.json +28 -15
  95. package/extensions/ublocklite/rulesets/main/est-0.json +2 -1
  96. package/extensions/ublocklite/rulesets/main/fin-0.json +3 -1
  97. package/extensions/ublocklite/rulesets/main/fra-0.json +6 -4
  98. package/extensions/ublocklite/rulesets/main/hrv-0.json +6 -3
  99. package/extensions/ublocklite/rulesets/main/hun-0.json +5 -2
  100. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  101. package/extensions/ublocklite/rulesets/main/ind-0.json +36 -34
  102. package/extensions/ublocklite/rulesets/main/isr-0.json +1 -1
  103. package/extensions/ublocklite/rulesets/main/ita-0.json +6 -3
  104. package/extensions/ublocklite/rulesets/main/jpn-1.json +31 -24
  105. package/extensions/ublocklite/rulesets/main/kor-1.json +5 -3
  106. package/extensions/ublocklite/rulesets/main/mkd-0.json +2 -1
  107. package/extensions/ublocklite/rulesets/main/nld-0.json +3 -1
  108. package/extensions/ublocklite/rulesets/main/nor-0.json +17 -3
  109. package/extensions/ublocklite/rulesets/main/pgl.json +16 -20
  110. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  111. package/extensions/ublocklite/rulesets/main/rus-0.json +14 -13
  112. package/extensions/ublocklite/rulesets/main/rus-1.json +5 -2
  113. package/extensions/ublocklite/rulesets/main/spa-1.json +13 -3
  114. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +11287 -12041
  115. package/extensions/ublocklite/rulesets/main/swe-1.json +24 -22
  116. package/extensions/ublocklite/rulesets/main/tur-0.json +15 -6
  117. package/extensions/ublocklite/rulesets/main/ublock-badware.json +30 -3
  118. package/extensions/ublocklite/rulesets/main/ublock-filters.json +91 -88
  119. package/extensions/ublocklite/rulesets/main/ukr-0.json +3 -3
  120. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +4063 -328
  121. package/extensions/ublocklite/rulesets/main/vie-1.json +62 -51
  122. package/extensions/ublocklite/rulesets/regex/block-lan.json +16 -0
  123. package/extensions/ublocklite/rulesets/regex/chn-0.json +3 -2
  124. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  125. package/extensions/ublocklite/rulesets/regex/jpn-1.json +2 -3
  126. package/extensions/ublocklite/rulesets/regex/rus-0.json +2 -1
  127. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +5 -5
  128. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +23 -14
  129. package/extensions/ublocklite/rulesets/ruleset-details.json +239 -239
  130. package/extensions/ublocklite/rulesets/scripting/generic/adguard-mobile.js +2 -2
  131. package/extensions/ublocklite/rulesets/scripting/generic/alb-0.js +1 -1
  132. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +2 -2
  134. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +2 -2
  135. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +2 -2
  136. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  137. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-widgets.js +1 -1
  138. package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +2 -2
  139. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  140. package/extensions/ublocklite/rulesets/scripting/generic/cze-0.js +2 -2
  141. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
  142. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/generic/easyprivacy.js +1 -1
  144. package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +2 -2
  145. package/extensions/ublocklite/rulesets/scripting/generic/fin-0.js +2 -2
  146. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
  147. package/extensions/ublocklite/rulesets/scripting/generic/grc-0.js +2 -2
  148. package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +2 -2
  149. package/extensions/ublocklite/rulesets/scripting/generic/hun-0.js +2 -2
  150. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
  151. package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +1 -1
  152. package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +2 -2
  153. package/extensions/ublocklite/rulesets/scripting/generic/isr-0.js +2 -2
  154. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +2 -2
  155. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +2 -2
  156. package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
  157. package/extensions/ublocklite/rulesets/scripting/generic/ltu-0.js +1 -1
  158. package/extensions/ublocklite/rulesets/scripting/generic/lva-0.js +1 -1
  159. package/extensions/ublocklite/rulesets/scripting/generic/mkd-0.js +2 -2
  160. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +2 -2
  161. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +2 -2
  162. package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +2 -2
  163. package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
  164. package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +2 -2
  165. package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/generic/spa-0.js +2 -2
  167. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +2 -2
  168. package/extensions/ublocklite/rulesets/scripting/generic/svn-0.js +1 -1
  169. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +2 -2
  170. package/extensions/ublocklite/rulesets/scripting/generic/tha-0.js +1 -1
  171. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +2 -2
  172. package/extensions/ublocklite/rulesets/scripting/generic/ublock-badware.js +1 -1
  173. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  174. package/extensions/ublocklite/rulesets/scripting/generic/ubol-tests.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
  176. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +3 -3
  177. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +3 -5
  178. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +4 -0
  179. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
  180. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -1
  181. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  182. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  183. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  184. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  185. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  186. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  187. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +1 -1
  188. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +1 -1
  189. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  190. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  191. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  192. package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
  193. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  194. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  195. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  196. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  197. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  198. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  199. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  200. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-experimental.js +42 -0
  201. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +5 -1
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +5 -2
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-cookie.js +2 -2
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +6 -2
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +6 -2
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-attr.js +2 -2
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +3 -0
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +19 -8
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +5 -1
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +7 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +6 -2
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +1 -1
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/{nld-0.json-prune-fetch-response.js → chn-0.set-cookie.js} +120 -266
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.addEventListener-defuser.js → fin-0.remove-node-text.js} +105 -154
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-constant.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +5 -1
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +4 -22
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +6 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +5 -1
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setInterval.js +2 -2
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +6 -24
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +5 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +7 -3
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +7 -3
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +5 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-node-text.js +2 -2
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-local-storage-item.js +399 -0
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +6 -24
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +5 -1
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +2 -2
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-local-storage-item.js +399 -0
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.href-sanitizer.js +4 -22
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +6 -2
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +5 -1
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +7 -3
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +5 -1
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-node-text.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +4 -22
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +5 -1
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +5 -1
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +5 -1
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +19 -8
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +1 -1
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +1 -1
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +5 -23
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +29 -11
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +24 -10
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +7 -3
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +6 -2
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +3 -0
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +29 -11
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +29 -11
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +21 -10
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +5 -1
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  408. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  409. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  410. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  411. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  412. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  413. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  414. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  415. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  416. package/extensions/ublocklite/rulesets/scripting/specific/est-0.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  418. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  419. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  420. package/extensions/ublocklite/rulesets/scripting/specific/hrv-0.js +3 -3
  421. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  422. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  423. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  424. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  425. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  426. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  427. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  428. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  429. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  430. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  431. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  432. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  433. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  434. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
  435. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  436. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  438. package/extensions/ublocklite/rulesets/scriptlet-details.json +205 -117
  439. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +18 -28
  440. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  441. package/extensions/ublocklite/rulesets/strictblock/annoyances-widgets.json +1 -0
  442. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +267 -247
  443. package/extensions/ublocklite/rulesets/strictblock/deu-0.json +1 -0
  444. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -1
  445. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  446. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +47 -3
  447. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +102 -41
  448. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +208 -198
  449. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  450. package/extensions/ublocklite/rulesets/strictblock/pgl.json +16 -20
  451. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +5 -1
  452. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
  453. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +11287 -12041
  454. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -1
  455. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +1 -0
  456. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +671 -653
  457. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  458. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
  459. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +4063 -328
  460. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +5 -1
  461. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +59 -1
  462. package/extensions/ublocklite/ublock.zip +0 -0
  463. package/package.json +23 -22
  464. package/scripts/install-debugger.js +2 -2
  465. package/src/browsers/index.ts +20 -0
  466. package/src/routes/chrome/tests/content.spec.ts +24 -0
  467. package/src/routes/chrome/tests/json.spec.ts +134 -0
  468. package/src/routes/chromium/tests/content.spec.ts +24 -0
  469. package/src/routes/chromium/tests/function.spec.ts +33 -0
  470. package/src/routes/chromium/tests/json.spec.ts +134 -0
  471. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  472. package/src/routes/edge/tests/content.spec.ts +24 -0
  473. package/src/routes/edge/tests/json.spec.ts +134 -0
  474. package/src/routes/management/tests/management.spec.ts +66 -0
  475. package/src/server.ts +1 -1
  476. package/src/shared/screenshot.http.ts +1 -1
  477. package/src/shim.spec.ts +18 -0
  478. package/src/shim.ts +15 -1
  479. package/src/types.ts +2 -0
  480. package/static/docs/swagger.json +5 -2
  481. package/static/docs/swagger.min.json +4 -1
  482. package/static/function/client.js +143 -105
  483. package/static/function/index.html +143 -105
  484. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  485. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  486. package/build/routes/edge/tests/json-version.spec.js +0 -37
  487. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  488. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  489. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  490. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  491. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  492. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -264,15 +264,15 @@
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
267
- "message": "Backup",
267
+ "message": "მარქაფი",
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
271
+ "message": "დაამარქაფეთ მითითებული პარამეტრები ფაილში ან აღადგინეთ ფაილიდან.",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
275
- "message": "Restoring will overwrite all your current custom settings.",
275
+ "message": "აღდგენისას ყველა მიმდინარე პარამეტრი ჩანაცვლდება.",
276
276
  "description": "Important information about the back up/restore section."
277
277
  },
278
278
  "findListsPlaceholder": {
@@ -376,11 +376,11 @@
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
379
- "message": "Back up…",
379
+ "message": "დამარქფება…",
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
383
- "message": "Restore…",
383
+ "message": "აღდგენა…",
384
384
  "description": "Text for buttons used to restore content"
385
385
  },
386
386
  "dnrRulesWarning": {
@@ -44,7 +44,7 @@
44
44
  "description": "Label in the popup panel for the local tools section"
45
45
  },
46
46
  "popupTipReport": {
47
- "message": "Rapporter et problem på dette nettstedet",
47
+ "message": "Rapporter et problem",
48
48
  "description": "Tooltip used for the 'chat' icon in the panel"
49
49
  },
50
50
  "popupTipDashboard": {
@@ -72,7 +72,7 @@
72
72
  "description": "Header for a ruleset section in 'Filter lists pane'"
73
73
  },
74
74
  "3pGroupMalware": {
75
- "message": "Domener med skadelig programvare",
75
+ "message": "Beskyttelse mot skadelig programvare, sikkerhet",
76
76
  "description": "Header for a ruleset section in 'Filter lists pane'"
77
77
  },
78
78
  "3pGroupAnnoyances": {
@@ -264,15 +264,15 @@
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
267
- "message": "Backup",
267
+ "message": "Sikkerhetskopi",
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
271
+ "message": "Sikkerhetskopier dine egendefinerte regler, eller gjenopprett dine egendefinerte regler fra en fil.",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
275
- "message": "Restoring will overwrite all your current custom settings.",
275
+ "message": "Gjenoppretting vil overskrive dine nåværende egendefinerte regler.",
276
276
  "description": "Important information about the back up/restore section."
277
277
  },
278
278
  "findListsPlaceholder": {
@@ -376,11 +376,11 @@
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
379
- "message": "Back up…",
379
+ "message": "Sikkerhetskopier…",
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
383
- "message": "Restore…",
383
+ "message": "Gjenopprett…",
384
384
  "description": "Text for buttons used to restore content"
385
385
  },
386
386
  "dnrRulesWarning": {
@@ -20,7 +20,7 @@
20
20
  "description": "appears as tab name in dashboard"
21
21
  },
22
22
  "customFiltersPageName": {
23
- "message": "Custom filters",
23
+ "message": "Filtros personalizados",
24
24
  "description": "appears as tab name in dashboard"
25
25
  },
26
26
  "developPageName": {
@@ -88,11 +88,11 @@
88
88
  "description": "Header for a ruleset section in 'Filter lists pane'"
89
89
  },
90
90
  "customFiltersImportExportLabel": {
91
- "message": "Import / Export",
91
+ "message": "Importar / Exportar",
92
92
  "description": "Text label heading the import/export area of custom filters"
93
93
  },
94
94
  "customFiltersImportTextareaPlaceholder": {
95
- "message": "Paste here specific cosmetic filters to add",
95
+ "message": "Cole aqui filtros cosméticos específicos a adicionar",
96
96
  "description": "Placeholder text which describes the purpose of the textarea widget"
97
97
  },
98
98
  "aboutChangelog": {
@@ -264,15 +264,15 @@
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
267
- "message": "Backup",
267
+ "message": "Cópia de segurança",
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
271
+ "message": "Faça uma cópia de segurança das suas definições personalizadas num ficheiro ou restaure as suas definições personalizadas a partir de um ficheiro.",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
275
- "message": "Restoring will overwrite all your current custom settings.",
275
+ "message": "A restauração substituirá todas as suas definições personalizadas atuais.",
276
276
  "description": "Important information about the back up/restore section."
277
277
  },
278
278
  "findListsPlaceholder": {
@@ -364,7 +364,7 @@
364
364
  "description": "Text for buttons used to revert changes"
365
365
  },
366
366
  "addButton": {
367
- "message": "Add",
367
+ "message": "Adicionar",
368
368
  "description": "Text for buttons used to add content"
369
369
  },
370
370
  "importAndAppendButton": {
@@ -376,11 +376,11 @@
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
379
- "message": "Back up…",
379
+ "message": "Criar cópia…",
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
383
- "message": "Restore…",
383
+ "message": "Restaurar…",
384
384
  "description": "Text for buttons used to restore content"
385
385
  },
386
386
  "dnrRulesWarning": {
@@ -20,11 +20,11 @@
20
20
  "description": "appears as tab name in dashboard"
21
21
  },
22
22
  "customFiltersPageName": {
23
- "message": "Custom filters",
23
+ "message": "Filtre proprii",
24
24
  "description": "appears as tab name in dashboard"
25
25
  },
26
26
  "developPageName": {
27
- "message": "Develop",
27
+ "message": "Dezvoltă",
28
28
  "description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
29
29
  },
30
30
  "aboutPageName": {
@@ -40,7 +40,7 @@
40
40
  "description": "Label in the popup panel for the current filtering mode"
41
41
  },
42
42
  "popupLocalToolsLabel": {
43
- "message": "On this website",
43
+ "message": "Pe acest website",
44
44
  "description": "Label in the popup panel for the local tools section"
45
45
  },
46
46
  "popupTipReport": {
@@ -88,11 +88,11 @@
88
88
  "description": "Header for a ruleset section in 'Filter lists pane'"
89
89
  },
90
90
  "customFiltersImportExportLabel": {
91
- "message": "Import / Export",
91
+ "message": "Importă / Exportă",
92
92
  "description": "Text label heading the import/export area of custom filters"
93
93
  },
94
94
  "customFiltersImportTextareaPlaceholder": {
95
- "message": "Paste here specific cosmetic filters to add",
95
+ "message": "Lipește aici filtre cosmetice specifice",
96
96
  "description": "Placeholder text which describes the purpose of the textarea widget"
97
97
  },
98
98
  "aboutChangelog": {
@@ -132,7 +132,7 @@
132
132
  "description": "First paragraph of 'Filter issues' section in Support pane"
133
133
  },
134
134
  "supportS5H": {
135
- "message": "Troubleshooting information",
135
+ "message": "Informații depanare",
136
136
  "description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
137
137
  },
138
138
  "supportS6P1S1": {
@@ -256,11 +256,11 @@
256
256
  "description": "Short description for a checkbox in the options page"
257
257
  },
258
258
  "developerModeLabel": {
259
- "message": "Developer mode",
259
+ "message": "Mod dezvoltator",
260
260
  "description": "Label for a checkbox in the options page"
261
261
  },
262
262
  "developerModeLegend": {
263
- "message": "Enables access to features suitable for technical users.",
263
+ "message": "Permite accesul la funcții adecvate pentru utilizatorii tehnici.",
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
@@ -268,11 +268,11 @@
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
271
+ "message": "Copiați setările personalizate într-un fișier sau restaurați setările personalizate dintr-un fișier.",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
275
- "message": "Restoring will overwrite all your current custom settings.",
275
+ "message": "Restaurarea va suprascrie toate setările personalizate actuale.",
276
276
  "description": "Important information about the back up/restore section."
277
277
  },
278
278
  "findListsPlaceholder": {
@@ -316,63 +316,63 @@
316
316
  "description": "A button to navigate to the blocked page"
317
317
  },
318
318
  "zapperTipEnter": {
319
- "message": "Remove an element",
319
+ "message": "Elimina unui element",
320
320
  "description": "Tooltip for the button used to enter zapper mode"
321
321
  },
322
322
  "zapperTipQuit": {
323
- "message": "Exit element zapper mode",
323
+ "message": "Ieșire din modul zapper element",
324
324
  "description": "Tooltip for the button used to exit zapper mode"
325
325
  },
326
326
  "pickerTipEnter": {
327
- "message": "Create a custom filter",
327
+ "message": "Creați un filtru personalizat",
328
328
  "description": "Label for the menu entry to create cosmetic filters"
329
329
  },
330
330
  "unpickerTipEnter": {
331
- "message": "Remove a custom filter",
331
+ "message": "Șterge un filtru personalizat",
332
332
  "description": "Label for the menu entry to delete cosmetic filters"
333
333
  },
334
334
  "developDropdownLabel": {
335
- "message": "View:",
335
+ "message": "Vezi:",
336
336
  "description": "A label of a dropdown list"
337
337
  },
338
338
  "developOptionFilteringModeDetails": {
339
- "message": "Filtering mode details",
339
+ "message": "Detalii privind modul de filtrare",
340
340
  "description": "An option in a dropdown list"
341
341
  },
342
342
  "developOptionCustomDnrRules": {
343
- "message": "Custom DNR rules",
343
+ "message": "Reguli DNR personalizate",
344
344
  "description": "An option in a dropdown list"
345
345
  },
346
346
  "developOptionDnrRulesOf": {
347
- "message": "DNR rules of …",
347
+ "message": "Regulile DNR privind …",
348
348
  "description": "A section header in a dropdown list"
349
349
  },
350
350
  "developOptionDynamicRuleset": {
351
- "message": "Dynamic ruleset",
351
+ "message": "Set de reguli dinamice",
352
352
  "description": "An option in a dropdown list"
353
353
  },
354
354
  "developOptionSessionRuleset": {
355
- "message": "Session ruleset",
355
+ "message": "Set de reguli pentru sesiune",
356
356
  "description": "An option in a dropdown list"
357
357
  },
358
358
  "saveButton": {
359
- "message": "Save",
359
+ "message": "Salvați",
360
360
  "description": "Text for buttons used to save changes"
361
361
  },
362
362
  "revertButton": {
363
- "message": "Revert",
363
+ "message": "Reveniţi",
364
364
  "description": "Text for buttons used to revert changes"
365
365
  },
366
366
  "addButton": {
367
- "message": "Add",
367
+ "message": "Adaugă",
368
368
  "description": "Text for buttons used to add content"
369
369
  },
370
370
  "importAndAppendButton": {
371
- "message": "Import and append…",
371
+ "message": "Importați și adăugați…",
372
372
  "description": "Text for buttons used to import and append content"
373
373
  },
374
374
  "exportButton": {
375
- "message": "Export",
375
+ "message": "Exportă…",
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
@@ -380,31 +380,31 @@
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
383
- "message": "Restore…",
383
+ "message": "Restaurați…",
384
384
  "description": "Text for buttons used to restore content"
385
385
  },
386
386
  "dnrRulesWarning": {
387
- "message": "Do not add content from untrusted sources",
387
+ "message": "Nu adăugați conținut din surse nesigure",
388
388
  "description": "Short description of the DNR rules editor pane"
389
389
  },
390
390
  "dnrRulesCountInfo": {
391
- "message": "Number of registered rules: {count}",
391
+ "message": "Număr de reguli înregistrate: {count}",
392
392
  "description": "Short sentence to report the number of currently registered DNR rules"
393
393
  },
394
394
  "pickerSliderLabel": {
395
- "message": "Move the slider to select the best match",
395
+ "message": "Mutați cursorul pentru a selecta cea mai bună potrivire",
396
396
  "description": "Label to describe the purpose of the slider"
397
397
  },
398
398
  "pickerPick": {
399
- "message": "Pick",
399
+ "message": "Alege",
400
400
  "description": "Text for the button to re-enter element-picking mode"
401
401
  },
402
402
  "pickerPreview": {
403
- "message": "Preview",
403
+ "message": "Previzualizare",
404
404
  "description": "Text for the button to activate preview mode"
405
405
  },
406
406
  "pickerCreate": {
407
- "message": "Create",
407
+ "message": "Creează",
408
408
  "description": "Text for the button to create the filter"
409
409
  },
410
410
  "unpickerUsage": {
@@ -264,11 +264,11 @@
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
267
- "message": "Резервные копии / восстановление",
267
+ "message": "Резервная копия",
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Создайте резервную копию ваших пользовательских настроек в файле или восстановите их из файла.",
271
+ "message": "Создайте резервную копию пользовательских настроек в файле, или восстановите настройки из файла.",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
@@ -376,7 +376,7 @@
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
379
- "message": "Создать резервную копию…",
379
+ "message": "Создать рез. копию…",
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
@@ -264,15 +264,15 @@
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
267
- "message": "Backup",
267
+ "message": "Kopja rezervë",
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
271
+ "message": "Mbani një kopje rezervë parametrave keni personalizuar ose riktheni parametrat e mëparshëm.",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
275
- "message": "Restoring will overwrite all your current custom settings.",
275
+ "message": "Rikthimi do fshijë gjithë parametrat keni personalizuar.",
276
276
  "description": "Important information about the back up/restore section."
277
277
  },
278
278
  "findListsPlaceholder": {
@@ -376,11 +376,11 @@
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
379
- "message": "Back up…",
379
+ "message": "Rezervoj…",
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
383
- "message": "Restore…",
383
+ "message": "Rikthej…",
384
384
  "description": "Text for buttons used to restore content"
385
385
  },
386
386
  "dnrRulesWarning": {
@@ -264,15 +264,15 @@
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
267
- "message": "Backup",
267
+ "message": "Säkerhetskopiering",
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
271
+ "message": "Säkerhetskopiera dina anpassade inställningar till en fil, eller återställ dina anpassade inställningar från en fil.",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
275
- "message": "Restoring will overwrite all your current custom settings.",
275
+ "message": "Återställningen kommer att skriva över alla dina nuvarande anpassade inställningar.",
276
276
  "description": "Important information about the back up/restore section."
277
277
  },
278
278
  "findListsPlaceholder": {
@@ -376,11 +376,11 @@
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
379
- "message": "Back up…",
379
+ "message": "Säkerhetskopiera…",
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
383
- "message": "Restore…",
383
+ "message": "Återställ…",
384
384
  "description": "Text for buttons used to restore content"
385
385
  },
386
386
  "dnrRulesWarning": {
@@ -264,15 +264,15 @@
264
264
  "description": "Short description for a checkbox in the options page"
265
265
  },
266
266
  "settingsBackupRestoreLabel": {
267
- "message": "Backup",
267
+ "message": "备份",
268
268
  "description": "The header text for the back up/restore section"
269
269
  },
270
270
  "settingsBackupRestoreSummary": {
271
- "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
271
+ "message": "将自定义设置备份到文件,或从文件还原自定义设置。",
272
272
  "description": "A summary description of the back up/restore section."
273
273
  },
274
274
  "settingsBackupRestoreLegend": {
275
- "message": "Restoring will overwrite all your current custom settings.",
275
+ "message": "还原将覆盖当前所有自定义设置。",
276
276
  "description": "Important information about the back up/restore section."
277
277
  },
278
278
  "findListsPlaceholder": {
@@ -376,11 +376,11 @@
376
376
  "description": "Text for buttons used to export content"
377
377
  },
378
378
  "backupButton": {
379
- "message": "Back up…",
379
+ "message": "备份…",
380
380
  "description": "Text for buttons used to back up content"
381
381
  },
382
382
  "restoreButton": {
383
- "message": "Restore…",
383
+ "message": "还原…",
384
384
  "description": "Text for buttons used to restore content"
385
385
  },
386
386
  "dnrRulesWarning": {
@@ -90,6 +90,12 @@ body[data-platform="safari"] [data-platform-exclude="safari"] {
90
90
  display: none;
91
91
  }
92
92
 
93
+ section[data-pane="settings"] p:has(button) {
94
+ display: flex;
95
+ flex-wrap: wrap;
96
+ gap: 1em;
97
+ }
98
+
93
99
  body:not(.committing) #commit-spinner {
94
100
  display: none;
95
101
  }
@@ -101,7 +101,7 @@
101
101
  <h3 data-i18n="settingsBackupRestoreLabel">_</h3>
102
102
  <p data-i18n="settingsBackupRestoreSummary">_</p>
103
103
  <p>
104
- <button class="iconified dontshrink" type="button"><span class="fa-icon">download-alt</span><span data-i18n="backupButton">_</span><span class="hover"></span></button>&ensp;
104
+ <button class="iconified dontshrink" type="button"><span class="fa-icon">download-alt</span><span data-i18n="backupButton">_</span><span class="hover"></span></button>
105
105
  <button class="iconified dontshrink" type="button"><span class="fa-icon">upload-alt</span><span data-i18n="restoreButton">_</span><span class="hover"></span></button><input type="file" accept="application/json">
106
106
  </p>
107
107
  </div>
@@ -88,6 +88,7 @@ import {
88
88
  } from './ruleset-manager.js';
89
89
 
90
90
  import {
91
+ getConsoleOutput,
91
92
  getMatchedRules,
92
93
  isSideloaded,
93
94
  toggleDeveloperMode,
@@ -96,7 +97,6 @@ import {
96
97
  } from './debug.js';
97
98
 
98
99
  import { dnr } from './ext-compat.js';
99
- import { getTroubleshootingInfo } from './troubleshooting.js';
100
100
  import { registerInjectables } from './scripting-manager.js';
101
101
  import { toggleToolbarIcon } from './action.js';
102
102
 
@@ -154,6 +154,17 @@ async function onPermissionsAdded(permissions) {
154
154
  }
155
155
  }
156
156
 
157
+ async function onPermissionsChanged(op, permissions) {
158
+ await isFullyInitialized;
159
+ const { pending } = onPermissionsChanged;
160
+ await Promise.all(pending);
161
+ const promise = op === 'removed'
162
+ ? onPermissionsRemoved()
163
+ : onPermissionsAdded(permissions);
164
+ pending.push(promise);
165
+ }
166
+ onPermissionsChanged.pending = [];
167
+
157
168
  /******************************************************************************/
158
169
 
159
170
  function setDeveloperMode(state) {
@@ -325,12 +336,24 @@ function onMessage(request, sender, callback) {
325
336
  });
326
337
  return true;
327
338
 
339
+ case 'getEnabledRulesets':
340
+ dnr.getEnabledRulesets().then(rulesets => {
341
+ callback(rulesets);
342
+ });
343
+ return true;
344
+
328
345
  case 'getRulesetDetails':
329
346
  getRulesetDetails().then(rulesetDetails => {
330
347
  callback(Array.from(rulesetDetails.values()));
331
348
  });
332
349
  return true;
333
350
 
351
+ case 'hasBroadHostPermissions':
352
+ hasBroadHostPermissions().then(result => {
353
+ callback(result);
354
+ });
355
+ return true;
356
+
334
357
  case 'setAutoReload':
335
358
  rulesetConfig.autoReload = request.state && true || false;
336
359
  saveRulesetConfig().then(( ) => {
@@ -532,11 +555,9 @@ function onMessage(request, sender, callback) {
532
555
  });
533
556
  return true;
534
557
 
535
- case 'getTroubleshootingInfo':
536
- getTroubleshootingInfo(request.siteMode).then(info => {
537
- callback(info);
538
- });
539
- return true;
558
+ case 'getConsoleOutput':
559
+ callback(getConsoleOutput());
560
+ break;
540
561
 
541
562
  default:
542
563
  break;
@@ -688,13 +709,13 @@ runtime.onMessage.addListener((request, sender, callback) => {
688
709
 
689
710
  browser.permissions.onRemoved.addListener((...args) => {
690
711
  isFullyInitialized.then(( ) => {
691
- onPermissionsRemoved(...args);
712
+ onPermissionsChanged('removed', ...args);
692
713
  });
693
714
  });
694
715
 
695
716
  browser.permissions.onAdded.addListener((...args) => {
696
717
  isFullyInitialized.then(( ) => {
697
- onPermissionsAdded(...args);
718
+ onPermissionsChanged('added', ...args);
698
719
  });
699
720
  });
700
721
 
@@ -21,11 +21,8 @@
21
21
 
22
22
  import { dom, qs$ } from './dom.js';
23
23
  import {
24
- localRead,
25
- localRemove,
26
- localWrite,
24
+ localRead, localRemove, localWrite,
27
25
  runtime,
28
- sendMessage,
29
26
  webextFlavor,
30
27
  } from './ext.js';
31
28
  import { faIconsInit } from './fa-icons.js';
@@ -60,7 +57,9 @@ localRead('dashboard.activePane').then(pane => {
60
57
  // Update troubleshooting on-demand
61
58
  const tsinfoObserver = new IntersectionObserver(entries => {
62
59
  if ( entries.every(a => a.isIntersecting === false) ) { return; }
63
- sendMessage({ what: 'getTroubleshootingInfo' }).then(config => {
60
+ import('./troubleshooting.js').then(module => {
61
+ return module.getTroubleshootingInfo();
62
+ }).then(config => {
64
63
  qs$('[data-i18n="supportS5H"] + pre').textContent = config;
65
64
  });
66
65
  });