diff --git a/package-lock.json b/package-lock.json
index 391ea9109..16a71929c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -281,13 +281,13 @@
}
},
"autoprefixer": {
- "version": "10.4.12",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
- "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
+ "version": "10.4.13",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
+ "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
"dev": true,
"requires": {
"browserslist": "^4.21.4",
- "caniuse-lite": "^1.0.30001407",
+ "caniuse-lite": "^1.0.30001426",
"fraction.js": "^4.2.0",
"normalize-range": "^0.1.2",
"picocolors": "^1.0.0",
@@ -307,15 +307,15 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001410",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz",
- "integrity": "sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==",
+ "version": "1.0.30001426",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001426.tgz",
+ "integrity": "sha512-n7cosrHLl8AWt0wwZw/PJZgUg3lV0gk9LMI7ikGJwhyhgsd2Nb65vKvmSexCqq/J7rbH3mFG6yZZiPR5dLPW5A==",
"dev": true
},
"electron-to-chromium": {
- "version": "1.4.261",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.261.tgz",
- "integrity": "sha512-fVXliNUGJ7XUVJSAasPseBbVgJIeyw5M1xIkgXdTSRjlmCqBbiSTsEdLOCJS31Fc8B7CaloQ/BFAg8By3ODLdg==",
+ "version": "1.4.284",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
+ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
"dev": true
},
"node-releases": {
@@ -2737,9 +2737,9 @@
"dev": true
},
"postcss": {
- "version": "8.4.17",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz",
- "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
+ "version": "8.4.19",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz",
+ "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==",
"dev": true,
"requires": {
"nanoid": "^3.3.4",
@@ -3371,9 +3371,9 @@
"dev": true
},
"update-browserslist-db": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz",
- "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==",
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
"dev": true,
"requires": {
"escalade": "^3.1.1",
diff --git a/package.json b/package.json
index 6f80a0957..f4a307a4e 100644
--- a/package.json
+++ b/package.json
@@ -24,9 +24,9 @@
"testpr": "npm run prettier:fix && git diff --ws-error-highlight=all --color=always --exit-code && npm run xo"
},
"devDependencies": {
- "autoprefixer": "^10.4.12",
+ "autoprefixer": "^10.4.13",
"eslint-plugin-compat": "^4.0.2",
- "postcss": "^8.4.17",
+ "postcss": "^8.4.19",
"postcss-cli": "^10.0.0",
"prettier": "2.7.1",
"xo": "^0.52.4"
diff --git a/scripts/pi-hole/js/db_graph.js b/scripts/pi-hole/js/db_graph.js
index 4ca0fb6b8..8fdeb122a 100644
--- a/scripts/pi-hole/js/db_graph.js
+++ b/scripts/pi-hole/js/db_graph.js
@@ -236,12 +236,15 @@ $(function () {
},
options: {
responsive: true,
+ interaction: {
+ mode: "nearest",
+ axis: "x",
+ },
plugins: {
tooltip: {
enabled: true,
yAlign: "bottom",
intersect: false,
- mode: "x",
itemSort: function (a, b) {
return b.datasetIndex - a.datasetIndex;
},
@@ -390,7 +393,7 @@ $("#querytime").on("apply.daterangepicker", function (ev, picker) {
updateQueriesOverTime();
});
-$("#queryOverTimeChart").click(function (evt) {
+$("#queryOverTimeChart").on("click", function (evt) {
var activePoints = timeLineChart.getElementsAtEventForMode(
evt,
"nearest",
diff --git a/scripts/pi-hole/js/db_queries.js b/scripts/pi-hole/js/db_queries.js
index 9afbf4024..efa85074f 100644
--- a/scripts/pi-hole/js/db_queries.js
+++ b/scripts/pi-hole/js/db_queries.js
@@ -167,6 +167,10 @@ function excludeStatusTypes() {
statusType.push(16);
}
+ if ($("#type_cached_stale").prop("checked") === false) {
+ statusType.push(17);
+ }
+
return statusType.join(",");
}
@@ -176,7 +180,7 @@ var reloadCallback = function () {
var data = tableApi.rows().data();
for (var i = 0; i < data.length; i++) {
statistics[0]++; // TOTAL query
- if (data[i][4] === 1 || (data[i][4] > 4 && ![10, 12, 13, 14].includes(data[i][4]))) {
+ if (data[i][4] === 1 || (data[i][4] > 4 && ![10, 12, 13, 14, 17].includes(data[i][4]))) {
statistics[2]++; // EXACT blocked
} else if (data[i][4] === 3) {
statistics[1]++; // CACHE query
@@ -349,6 +353,13 @@ $(function () {
"
Blocked
(special domain)";
blocked = true;
break;
+ case 17:
+ fieldtext =
+ "
OK (stale cache)" +
+ dnssecStatus;
+ buttontext =
+ '
';
+ break;
default:
fieldtext = "Unknown (" + parseInt(data[4], 10) + ")";
}
@@ -464,12 +475,12 @@ $("#querytime").on("apply.daterangepicker", function (ev, picker) {
refreshTableData();
});
-$("input[id^=type]").change(function () {
+$("input[id^=type]").on("change", function () {
if (datepickerManuallySelected) {
reloadBox.show();
}
});
-$(".bt-reload").click(function () {
+$(".bt-reload").on("click", function () {
refreshTableData();
});
diff --git a/scripts/pi-hole/js/footer.js b/scripts/pi-hole/js/footer.js
index d562ceb7f..73ab2107b 100644
--- a/scripts/pi-hole/js/footer.js
+++ b/scripts/pi-hole/js/footer.js
@@ -150,7 +150,7 @@ function initCheckboxRadioStyle() {
var iCheckStyle = $("#iCheckStyle");
if (iCheckStyle !== null) {
iCheckStyle.val(chkboxStyle);
- iCheckStyle.change(function () {
+ iCheckStyle.on("change", function () {
var themename = $(this).val();
localStorage.setItem("theme_icheck", themename);
applyCheckboxRadioStyle(themename);
@@ -197,7 +197,7 @@ function initCPUtemp() {
var tempunitSelector = $("#tempunit-selector");
if (tempunitSelector !== null) {
tempunitSelector.val(tempunit);
- tempunitSelector.change(function () {
+ tempunitSelector.on("change", function () {
tempunit = $(this).val();
setCPUtemp(tempunit);
});
@@ -256,7 +256,7 @@ $("#pihole-disable-custom").on("click", function (e) {
});
// Handle Ctrl + Enter button on Login page
-$(document).keypress(function (e) {
+$(document).on("keypress", function (e) {
if ((e.keyCode === 10 || e.keyCode === 13) && e.ctrlKey && $("#loginpw").is(":focus")) {
$("#loginform").attr("action", "settings.php");
$("#loginform").submit();
diff --git a/scripts/pi-hole/js/groups-domains.js b/scripts/pi-hole/js/groups-domains.js
index 1dd2c026d..f1228dd53 100644
--- a/scripts/pi-hole/js/groups-domains.js
+++ b/scripts/pi-hole/js/groups-domains.js
@@ -69,7 +69,7 @@ function showSuggestDomains(value) {
// Purposefully omit 'btn' class to save space on padding
return $('