From 16fee67983ed2aee8c87ca625d7ce859a5b5feb2 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Mon, 30 Jun 2025 13:47:11 +0200 Subject: [PATCH 01/60] Use /flush/network instead of /flush/arp Signed-off-by: yubiuser --- scripts/js/settings-system.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/js/settings-system.js b/scripts/js/settings-system.js index fc3f7beb..ae5ebb73 100644 --- a/scripts/js/settings-system.js +++ b/scripts/js/settings-system.js @@ -267,7 +267,7 @@ $(".confirm-flusharp").confirm({ title: "Confirmation required", confirm() { $.ajax({ - url: document.body.dataset.apiurl + "/action/flush/arp", + url: document.body.dataset.apiurl + "/action/flush/network", type: "POST", }).fail(data => { apiFailure(data); From eb140af01a9a3322cedfe9c8ca90b194fdcadf07 Mon Sep 17 00:00:00 2001 From: sharkboots75 Date: Thu, 17 Apr 2025 06:33:49 +1000 Subject: [PATCH 02/60] Make DNSSEC icon conditional in Queries Log Avoid emitting the DNSSEC icon in Domain column if DNSSEC is not being used/tracked Signed-off-by: sharkboots75 --- scripts/js/queries.js | 34 +++++++++++++++++++++++++--------- style/pi-hole.css | 10 ++++++++++ 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/scripts/js/queries.js b/scripts/js/queries.js index c0a3c2ba..94a814bb 100644 --- a/scripts/js/queries.js +++ b/scripts/js/queries.js @@ -28,6 +28,17 @@ const filters = [ "reply", "dnssec", ]; +var doDNSSEC = false; + +// Check if pihole is validiting DNSSEC +function getDnssecConfig() { + $.getJSON( + document.body.dataset.apiurl + "/config/dns/dnssec", + function(data) { + doDNSSEC = data.config.dns.dnssec; + } + ); +} function initDateRangePicker() { $("#querytime").daterangepicker( @@ -480,6 +491,9 @@ function liveUpdate() { } $(() => { + // Do we want to show DNSSEC icons? + getDnssecConfig(); + // Do we want to filter queries? const GETDict = utils.parseQueryString(); @@ -565,7 +579,6 @@ $(() => { }, rowCallback(row, data) { const querystatus = parseQueryStatus(data); - const dnssec = parseDNSSEC(data); if (querystatus.icon !== false) { $("td:eq(1)", row).html( @@ -589,14 +602,17 @@ $(() => { // Prefix colored DNSSEC icon to domain text let dnssecIcon = ""; - dnssecIcon = - ''; + if (doDNSSEC === true) { + const dnssec = parseDNSSEC(data); + dnssecIcon = + ''; + } // Escape HTML in domain domain = dnssecIcon + utils.escapeHtml(domain); diff --git a/style/pi-hole.css b/style/pi-hole.css index fc51792e..1ab96976 100644 --- a/style/pi-hole.css +++ b/style/pi-hole.css @@ -1609,3 +1609,13 @@ textarea.field-sizing-content { opacity: 0; transition: opacity 200ms ease-in-out; } + +/* Used in query log page */ +td.dnssec { + padding-inline-start: 2.25em !important; + text-indent: -1.25em; +} +td.dnssec i { + text-indent: 0; + margin-left: -0.5rem; +} From fc01fb030e33205adc56dfbd9b4fc6d6a9570ee3 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Fri, 27 Jun 2025 12:35:19 +0200 Subject: [PATCH 03/60] Fix tests Signed-off-by: yubiuser --- scripts/js/queries.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/scripts/js/queries.js b/scripts/js/queries.js index 94a814bb..9fd26f63 100644 --- a/scripts/js/queries.js +++ b/scripts/js/queries.js @@ -28,16 +28,13 @@ const filters = [ "reply", "dnssec", ]; -var doDNSSEC = false; +let doDNSSEC = false; // Check if pihole is validiting DNSSEC function getDnssecConfig() { - $.getJSON( - document.body.dataset.apiurl + "/config/dns/dnssec", - function(data) { - doDNSSEC = data.config.dns.dnssec; - } - ); + $.getJSON(document.body.dataset.apiurl + "/config/dns/dnssec", data => { + doDNSSEC = data.config.dns.dnssec; + }); } function initDateRangePicker() { From 1c753f7cc6afce2c50f4ce9f393503a83b41b147 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Wed, 16 Jul 2025 09:03:23 +0200 Subject: [PATCH 04/60] Use innerHTML instead of append to fix gravity color output Signed-off-by: yubiuser --- scripts/js/gravity.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/js/gravity.js b/scripts/js/gravity.js index 3fb960d8..f3edb1e3 100644 --- a/scripts/js/gravity.js +++ b/scripts/js/gravity.js @@ -138,7 +138,7 @@ function parseLines(outputElement, text) { }); // Append the new text to the end of the output - outputElement.append(line); + outputElement.innerHTML += line; } } From e137dd0a0faf92d1379bc578004914be0ee7e6e2 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Wed, 16 Jul 2025 16:19:46 +0200 Subject: [PATCH 05/60] Bind address to new element instead of raw HTML construction Signed-off-by: DL6ER --- scripts/js/groups-lists.js | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/scripts/js/groups-lists.js b/scripts/js/groups-lists.js index 8d540c7f..6dc3d56a 100644 --- a/scripts/js/groups-lists.js +++ b/scripts/js/groups-lists.js @@ -234,23 +234,20 @@ function initTable() { if (data.address.startsWith("file://")) { // Local files cannot be downloaded from a distant client so don't show // a link to such a list here - $("td:eq(3)", row).html( - '' + - utils.escapeHtml(data.address) + - "" - ); + const codeElem = document.createElement("code"); + codeElem.id = "address_" + dataId; + codeElem.className = "breakall"; + codeElem.textContent = data.address; + $("td:eq(3)", row).empty().append(codeElem); } else { - $("td:eq(3)", row).html( - '' + - utils.escapeHtml(data.address) + - "" - ); + const aElem = document.createElement("a"); + aElem.id = "address_" + dataId; + aElem.className = "breakall"; + aElem.href = data.address; + aElem.target = "_blank"; + aElem.rel = "noopener noreferrer"; + aElem.textContent = data.address; + $("td:eq(3)", row).empty().append(aElem); } $("td:eq(4)", row).html( From d2dc2535bb79859c4a86197e4221da491aedd174 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Wed, 16 Jul 2025 22:00:03 +0200 Subject: [PATCH 06/60] Trim whitespaces before adding custom DNS record Signed-off-by: yubiuser --- scripts/js/settings-dns-records.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/js/settings-dns-records.js b/scripts/js/settings-dns-records.js index b9598455..fd3f92b0 100644 --- a/scripts/js/settings-dns-records.js +++ b/scripts/js/settings-dns-records.js @@ -215,7 +215,7 @@ $(() => { $("#btnAdd-host").on("click", () => { utils.disableAll(); - const elem = $("#Hip").val() + " " + $("#Hdomain").val(); + const elem = $("#Hip").val().trim() + " " + $("#Hdomain").val().trim(); const url = document.body.dataset.apiurl + "/config/dns/hosts/" + encodeURIComponent(elem); utils.showAlert("info", "", "Adding DNS record...", elem); $.ajax({ From ac7b9845b624dd9f0f595146c7ba758e576c38c4 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Wed, 16 Jul 2025 22:03:25 +0200 Subject: [PATCH 07/60] Also trim CNAME input fields Signed-off-by: yubiuser --- scripts/js/settings-dns-records.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/js/settings-dns-records.js b/scripts/js/settings-dns-records.js index fd3f92b0..0686cf32 100644 --- a/scripts/js/settings-dns-records.js +++ b/scripts/js/settings-dns-records.js @@ -239,7 +239,7 @@ $(() => { $("#btnAdd-cname").on("click", () => { utils.disableAll(); - let elem = $("#Cdomain").val() + "," + $("#Ctarget").val(); + let elem = $("#Cdomain").val().trim() + "," + $("#Ctarget").val().trim(); const ttlVal = Number.parseInt($("#Cttl").val(), 10); // TODO Fix eslint // eslint-disable-next-line unicorn/prefer-number-properties From 319675a902e87511ae4528fd4bc006e74aa0488f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 19 Jul 2025 10:24:57 +0000 Subject: [PATCH 08/60] build(deps-dev): bump xo from 1.1.1 to 1.2.1 Bumps [xo](https://github.com/xojs/xo) from 1.1.1 to 1.2.1. - [Release notes](https://github.com/xojs/xo/releases) - [Commits](https://github.com/xojs/xo/compare/v1.1.1...v1.2.1) --- updated-dependencies: - dependency-name: xo dependency-version: 1.2.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 157 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 80 insertions(+), 79 deletions(-) diff --git a/package-lock.json b/package-lock.json index 98d1743a..b5889b42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "postcss": "^8.5.6", "postcss-cli": "^11.0.1", "prettier": "^3.6.2", - "xo": "^1.1.1" + "xo": "^1.2.1" } }, "node_modules/@babel/code-frame": { @@ -563,17 +563,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.0.tgz", - "integrity": "sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.37.0.tgz", + "integrity": "sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.35.0", - "@typescript-eslint/type-utils": "8.35.0", - "@typescript-eslint/utils": "8.35.0", - "@typescript-eslint/visitor-keys": "8.35.0", + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/type-utils": "8.37.0", + "@typescript-eslint/utils": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -587,7 +587,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.35.0", + "@typescript-eslint/parser": "^8.37.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } @@ -603,16 +603,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.0.tgz", - "integrity": "sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.37.0.tgz", + "integrity": "sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.35.0", - "@typescript-eslint/types": "8.35.0", - "@typescript-eslint/typescript-estree": "8.35.0", - "@typescript-eslint/visitor-keys": "8.35.0", + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", "debug": "^4.3.4" }, "engines": { @@ -628,14 +628,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.0.tgz", - "integrity": "sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.37.0.tgz", + "integrity": "sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.35.0", - "@typescript-eslint/types": "^8.35.0", + "@typescript-eslint/tsconfig-utils": "^8.37.0", + "@typescript-eslint/types": "^8.37.0", "debug": "^4.3.4" }, "engines": { @@ -650,14 +650,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.0.tgz", - "integrity": "sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.37.0.tgz", + "integrity": "sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.35.0", - "@typescript-eslint/visitor-keys": "8.35.0" + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -668,9 +668,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.0.tgz", - "integrity": "sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.37.0.tgz", + "integrity": "sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==", "dev": true, "license": "MIT", "engines": { @@ -685,14 +685,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.0.tgz", - "integrity": "sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.37.0.tgz", + "integrity": "sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.35.0", - "@typescript-eslint/utils": "8.35.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/utils": "8.37.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -709,9 +710,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.0.tgz", - "integrity": "sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.37.0.tgz", + "integrity": "sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==", "dev": true, "license": "MIT", "engines": { @@ -723,16 +724,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.0.tgz", - "integrity": "sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.37.0.tgz", + "integrity": "sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.35.0", - "@typescript-eslint/tsconfig-utils": "8.35.0", - "@typescript-eslint/types": "8.35.0", - "@typescript-eslint/visitor-keys": "8.35.0", + "@typescript-eslint/project-service": "8.37.0", + "@typescript-eslint/tsconfig-utils": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -778,16 +779,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.0.tgz", - "integrity": "sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.37.0.tgz", + "integrity": "sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.35.0", - "@typescript-eslint/types": "8.35.0", - "@typescript-eslint/typescript-estree": "8.35.0" + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -802,13 +803,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.0.tgz", - "integrity": "sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.37.0.tgz", + "integrity": "sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.35.0", + "@typescript-eslint/types": "8.37.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -3632,14 +3633,13 @@ } }, "node_modules/eslint-plugin-n": { - "version": "17.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.20.0.tgz", - "integrity": "sha512-IRSoatgB/NQJZG5EeTbv/iAx1byOGdbbyhQrNvWdCfTnmPxUT0ao9/eGOeG7ljD8wJBsxwE8f6tES5Db0FRKEw==", + "version": "17.21.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.21.0.tgz", + "integrity": "sha512-1+iZ8We4ZlwVMtb/DcHG3y5/bZOdazIpa/4TySo22MLKdwrLcfrX0hbadnCvykSQCCmkAnWmIP8jZVb2AAq29A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.5.0", - "@typescript-eslint/utils": "^8.26.1", "enhanced-resolve": "^5.17.1", "eslint-plugin-es-x": "^7.8.0", "get-tsconfig": "^4.8.1", @@ -8315,9 +8315,9 @@ } }, "node_modules/ts-declaration-location/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -8466,15 +8466,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.35.0.tgz", - "integrity": "sha512-uEnz70b7kBz6eg/j0Czy6K5NivaYopgxRjsnAJ2Fx5oTLo3wefTHIbL7AkQr1+7tJCRVpTs/wiM8JR/11Loq9A==", + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.37.0.tgz", + "integrity": "sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.35.0", - "@typescript-eslint/parser": "8.35.0", - "@typescript-eslint/utils": "8.35.0" + "@typescript-eslint/eslint-plugin": "8.37.0", + "@typescript-eslint/parser": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/utils": "8.37.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8876,43 +8877,43 @@ "license": "ISC" }, "node_modules/xo": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/xo/-/xo-1.1.1.tgz", - "integrity": "sha512-CMuUby6vSP+OQyOQRbhqWWIfc1dg06M6MFdtIQh/EMNE+ONcBzDhzNnbtDt/qD9gGRdg5qZ9YK16BBGwOfA2BQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/xo/-/xo-1.2.1.tgz", + "integrity": "sha512-CPv9yCCa8WkS8JMME5igrBQhqwOlQ+YFFsF2JP0vjQjuGdme5PLYgnDu8LnawMahtDq2PzpOWbMu2EEIxrOfBA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0", "@sindresorhus/tsconfig": "^7.0.0", "@stylistic/eslint-plugin": "^4.2.0", - "@typescript-eslint/parser": "^8.32.1", + "@typescript-eslint/parser": "^8.37.0", "arrify": "^3.0.0", "cosmiconfig": "^9.0.0", "define-lazy-prop": "^3.0.0", - "eslint": "^9.27.0", + "eslint": "^9.31.0", "eslint-config-prettier": "^10.1.5", "eslint-config-xo-react": "^0.28.0", "eslint-config-xo-typescript": "^7.0.0", "eslint-formatter-pretty": "^6.0.1", "eslint-plugin-ava": "^15.0.1", - "eslint-plugin-import-x": "^4.12.2", - "eslint-plugin-n": "^17.18.0", + "eslint-plugin-import-x": "^4.16.1", + "eslint-plugin-n": "^17.21.0", "eslint-plugin-no-use-extend-native": "^0.7.2", - "eslint-plugin-prettier": "^5.4.0", + "eslint-plugin-prettier": "^5.5.1", "eslint-plugin-promise": "^7.2.1", "eslint-plugin-unicorn": "^59.0.1", "find-cache-directory": "^6.0.0", "get-stdin": "^9.0.0", "get-tsconfig": "^4.10.1", - "globals": "^16.1.0", + "globals": "^16.3.0", "globby": "^14.1.0", "meow": "^13.2.0", "micromatch": "^4.0.8", "open-editor": "^5.1.0", "path-exists": "^5.0.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "type-fest": "^4.41.0", - "typescript-eslint": "^8.32.1" + "typescript-eslint": "^8.37.0" }, "bin": { "xo": "dist/cli.js" diff --git a/package.json b/package.json index c71a4648..fdfed592 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "postcss": "^8.5.6", "postcss-cli": "^11.0.1", "prettier": "^3.6.2", - "xo": "^1.1.1" + "xo": "^1.2.1" }, "browserslist": [ ">= 0.5%", From b4af886192cd38cc1223b729cc315429a537d026 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Mon, 14 Apr 2025 16:21:21 +0200 Subject: [PATCH 09/60] HTML escape adlist URL before printing it in gravity stream Co-authored-by: DL6ER Signed-off-by: yubiuser --- scripts/js/gravity.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/js/gravity.js b/scripts/js/gravity.js index f3edb1e3..77083c91 100644 --- a/scripts/js/gravity.js +++ b/scripts/js/gravity.js @@ -5,7 +5,7 @@ * This file is copyright under the latest version of the EUPL. * Please see LICENSE file for your rights under this license. */ -/* global apiFailure:false */ +/* global apiFailure:false, utils:false */ "use strict"; @@ -91,7 +91,8 @@ function parseLines(outputElement, text) { for (let line of lines) { if (line[0] === "\r") { // This line starts with the "OVER" sequence. Replace them with "\n" before print - line = line.replaceAll("\r", "\n").replaceAll("\r", "\n"); + // we also escape HTML to prevent XSS attacks + line = utils.escapeHtml(line.replaceAll("\r", "\n").replaceAll("\r", "\n")); // Last line from the textarea will be overwritten, so we remove it const lastLineIndex = outputElement.innerHTML.lastIndexOf("\n"); From 55e8e4a328f77ceafa0b74c012d2a461504b3347 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Sat, 19 Jul 2025 21:53:26 +0200 Subject: [PATCH 10/60] Use \u001B instead of (hidden) ESC character Signed-off-by: yubiuser --- scripts/js/gravity.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/js/gravity.js b/scripts/js/gravity.js index 77083c91..06fc4c3a 100644 --- a/scripts/js/gravity.js +++ b/scripts/js/gravity.js @@ -92,7 +92,7 @@ function parseLines(outputElement, text) { if (line[0] === "\r") { // This line starts with the "OVER" sequence. Replace them with "\n" before print // we also escape HTML to prevent XSS attacks - line = utils.escapeHtml(line.replaceAll("\r", "\n").replaceAll("\r", "\n")); + line = utils.escapeHtml(line.replaceAll("\r\u001B[K", "\n").replaceAll("\r", "\n")); // Last line from the textarea will be overwritten, so we remove it const lastLineIndex = outputElement.innerHTML.lastIndexOf("\n"); From 2e960473cb7e434f291b81e3ccf78ce96ef51ba2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 26 Jul 2025 10:06:09 +0000 Subject: [PATCH 11/60] build(deps-dev): bump eslint from 9.31.0 to 9.32.0 Bumps [eslint](https://github.com/eslint/eslint) from 9.31.0 to 9.32.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.31.0...v9.32.0) --- updated-dependencies: - dependency-name: eslint dependency-version: 9.32.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 24 ++++++++++++------------ package.json | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index b5889b42..91514d76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ }, "devDependencies": { "autoprefixer": "^10.4.21", - "eslint": "^9.31.0", + "eslint": "^9.32.0", "eslint-plugin-compat": "^6.0.2", "globals": "^16.3.0", "postcss": "^8.5.6", @@ -243,9 +243,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz", - "integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==", + "version": "9.32.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.32.0.tgz", + "integrity": "sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==", "dev": true, "license": "MIT", "engines": { @@ -266,9 +266,9 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", - "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz", + "integrity": "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3162,9 +3162,9 @@ } }, "node_modules/eslint": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", - "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", + "version": "9.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.32.0.tgz", + "integrity": "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==", "dev": true, "license": "MIT", "dependencies": { @@ -3174,8 +3174,8 @@ "@eslint/config-helpers": "^0.3.0", "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.31.0", - "@eslint/plugin-kit": "^0.3.1", + "@eslint/js": "9.32.0", + "@eslint/plugin-kit": "^0.3.4", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", diff --git a/package.json b/package.json index fdfed592..6b0e279b 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ }, "devDependencies": { "autoprefixer": "^10.4.21", - "eslint": "^9.31.0", + "eslint": "^9.32.0", "eslint-plugin-compat": "^6.0.2", "globals": "^16.3.0", "postcss": "^8.5.6", From aa7ce51e08ebeeeb066e8caac9b4a4aa9ddabd34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 26 Jul 2025 10:10:54 +0000 Subject: [PATCH 12/60] build(deps): bump github/codeql-action from 3.29.2 to 3.29.4 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.2 to 3.29.4. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v3.29.2...v3.29.4) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 16e5fe56..11f52ddf 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -31,16 +31,16 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@v3.29.2 + uses: github/codeql-action/init@v3.29.4 with: config-file: ./.github/codeql/codeql-config.yml languages: "javascript" queries: +security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@v3.29.2 + uses: github/codeql-action/autobuild@v3.29.4 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3.29.2 + uses: github/codeql-action/analyze@v3.29.4 with: category: "/language:javascript" From bec82d8045c419cfccd6b832f21fe95633a27b87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 10:08:28 +0000 Subject: [PATCH 13/60] build(deps): bump github/codeql-action from 3.29.4 to 3.29.5 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.4 to 3.29.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v3.29.4...v3.29.5) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 11f52ddf..c1e5ef89 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -31,16 +31,16 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@v3.29.4 + uses: github/codeql-action/init@v3.29.5 with: config-file: ./.github/codeql/codeql-config.yml languages: "javascript" queries: +security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@v3.29.4 + uses: github/codeql-action/autobuild@v3.29.5 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3.29.4 + uses: github/codeql-action/analyze@v3.29.5 with: category: "/language:javascript" From 3b3fc03949c620cfe104de540ba69ea74a04653b Mon Sep 17 00:00:00 2001 From: DL6ER Date: Sat, 9 Aug 2025 10:26:54 +0200 Subject: [PATCH 14/60] Hint at the special role of the underscore character Signed-off-by: DL6ER --- queries.lp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/queries.lp b/queries.lp index f05f0ff3..c8cbcaa0 100644 --- a/queries.lp +++ b/queries.lp @@ -138,7 +138,7 @@ mg.include('scripts/lua/header_authenticated.lp','r') From 9a9f6cd170b82926fa7b675750791acb3d0115d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 10:14:13 +0000 Subject: [PATCH 15/60] build(deps-dev): bump eslint from 9.32.0 to 9.33.0 Bumps [eslint](https://github.com/eslint/eslint) from 9.32.0 to 9.33.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0) --- updated-dependencies: - dependency-name: eslint dependency-version: 9.33.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 42 +++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 91514d76..b5d9c465 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ }, "devDependencies": { "autoprefixer": "^10.4.21", - "eslint": "^9.32.0", + "eslint": "^9.33.0", "eslint-plugin-compat": "^6.0.2", "globals": "^16.3.0", "postcss": "^8.5.6", @@ -183,9 +183,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", - "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -193,9 +193,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", - "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -243,9 +243,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.32.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.32.0.tgz", - "integrity": "sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==", + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", + "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", "dev": true, "license": "MIT", "engines": { @@ -266,13 +266,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz", - "integrity": "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.15.1", + "@eslint/core": "^0.15.2", "levn": "^0.4.1" }, "engines": { @@ -3162,20 +3162,20 @@ } }, "node_modules/eslint": { - "version": "9.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.32.0.tgz", - "integrity": "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==", + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz", + "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.0", - "@eslint/config-helpers": "^0.3.0", - "@eslint/core": "^0.15.0", + "@eslint/config-helpers": "^0.3.1", + "@eslint/core": "^0.15.2", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.32.0", - "@eslint/plugin-kit": "^0.3.4", + "@eslint/js": "9.33.0", + "@eslint/plugin-kit": "^0.3.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", diff --git a/package.json b/package.json index 6b0e279b..88efd589 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ }, "devDependencies": { "autoprefixer": "^10.4.21", - "eslint": "^9.32.0", + "eslint": "^9.33.0", "eslint-plugin-compat": "^6.0.2", "globals": "^16.3.0", "postcss": "^8.5.6", From 2df4782c175ebadeb9ab7dcbf52e19bae4bf9fc7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 10:28:14 +0000 Subject: [PATCH 16/60] build(deps): bump github/codeql-action from 3.29.5 to 3.29.8 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.5 to 3.29.8. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v3.29.5...v3.29.8) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c1e5ef89..ae3793c5 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -31,16 +31,16 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@v3.29.5 + uses: github/codeql-action/init@v3.29.8 with: config-file: ./.github/codeql/codeql-config.yml languages: "javascript" queries: +security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@v3.29.5 + uses: github/codeql-action/autobuild@v3.29.8 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3.29.5 + uses: github/codeql-action/analyze@v3.29.8 with: category: "/language:javascript" From aeb86e423917fbe23947d455334616b077f1606e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 10:49:55 +0000 Subject: [PATCH 17/60] build(deps-dev): bump xo from 1.2.1 to 1.2.2 Bumps [xo](https://github.com/xojs/xo) from 1.2.1 to 1.2.2. - [Release notes](https://github.com/xojs/xo/releases) - [Commits](https://github.com/xojs/xo/compare/v1.2.1...v1.2.2) --- updated-dependencies: - dependency-name: xo dependency-version: 1.2.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b5d9c465..5cf2acf1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "postcss": "^8.5.6", "postcss-cli": "^11.0.1", "prettier": "^3.6.2", - "xo": "^1.2.1" + "xo": "^1.2.2" } }, "node_modules/@babel/code-frame": { @@ -8877,9 +8877,9 @@ "license": "ISC" }, "node_modules/xo": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/xo/-/xo-1.2.1.tgz", - "integrity": "sha512-CPv9yCCa8WkS8JMME5igrBQhqwOlQ+YFFsF2JP0vjQjuGdme5PLYgnDu8LnawMahtDq2PzpOWbMu2EEIxrOfBA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/xo/-/xo-1.2.2.tgz", + "integrity": "sha512-8l565N0q5ROdSez8flcltMt1gi8OiEEYR1sGiRqc+QRrGf0Z8NEbhPkxYRrHn36iF+Hmyles79036LwuKREA5w==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 88efd589..057b75b8 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "postcss": "^8.5.6", "postcss-cli": "^11.0.1", "prettier": "^3.6.2", - "xo": "^1.2.1" + "xo": "^1.2.2" }, "browserslist": [ ">= 0.5%", From 288dc3651ffc335e19dabca14f6d0d51bdd55901 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 10:50:59 +0000 Subject: [PATCH 18/60] build(deps): bump github/codeql-action from 3.29.8 to 3.29.9 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.8 to 3.29.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v3.29.8...v3.29.9) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.9 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index ae3793c5..2b2f521d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -31,16 +31,16 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@v3.29.8 + uses: github/codeql-action/init@v3.29.9 with: config-file: ./.github/codeql/codeql-config.yml languages: "javascript" queries: +security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@v3.29.8 + uses: github/codeql-action/autobuild@v3.29.9 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3.29.8 + uses: github/codeql-action/analyze@v3.29.9 with: category: "/language:javascript" From 0bf92bfde46f45aa1860720912ca592762a955ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 10:51:05 +0000 Subject: [PATCH 19/60] build(deps): bump actions/checkout from 4.2.2 to 5.0.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4.2.2...v5.0.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 2 +- .github/workflows/codespell.yml | 2 +- .github/workflows/editorconfig-checker.yml | 2 +- .github/workflows/stale.yml | 2 +- .github/workflows/sync-back-to-dev.yml | 2 +- .github/workflows/test.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index ae3793c5..982f4545 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Clone repository - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v5.0.0 with: persist-credentials: false diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index f0545956..8bb678d6 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone repository - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v5.0.0 with: persist-credentials: false diff --git a/.github/workflows/editorconfig-checker.yml b/.github/workflows/editorconfig-checker.yml index 6aa9f269..84e32101 100644 --- a/.github/workflows/editorconfig-checker.yml +++ b/.github/workflows/editorconfig-checker.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone repository - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v5.0.0 with: persist-credentials: false - uses: editorconfig-checker/action-editorconfig-checker@main diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2e87c1f1..74e46649 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -41,7 +41,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Clone repository - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v5.0.0 with: persist-credentials: false - name: Remove 'stale' label diff --git a/.github/workflows/sync-back-to-dev.yml b/.github/workflows/sync-back-to-dev.yml index 0116402c..4adb9efb 100644 --- a/.github/workflows/sync-back-to-dev.yml +++ b/.github/workflows/sync-back-to-dev.yml @@ -11,7 +11,7 @@ jobs: name: Syncing branches steps: - name: Clone repository - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v5.0.0 with: persist-credentials: false - name: Opening pull request diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0df0b50b..99fca882 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Clone repository - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v5.0.0 with: persist-credentials: false From 21a65be5a71ed642e31e7c73a54747b3122e48cb Mon Sep 17 00:00:00 2001 From: idotj Date: Tue, 19 Aug 2025 16:50:44 +0200 Subject: [PATCH 20/60] Fix 2FA icon styles #3431 Signed-off-by: idotj --- login.lp | 10 +++++++--- settings-api.lp | 12 ++++++++---- style/pi-hole.css | 6 +++++- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/login.lp b/login.lp index 1ac17150..08e01654 100644 --- a/login.lp +++ b/login.lp @@ -50,9 +50,13 @@ mg.include('scripts/lua/header.lp','r') -