diff --git a/server/monitor-types/dns.js b/server/monitor-types/dns.js index 8b87932fe..5a47e4591 100644 --- a/server/monitor-types/dns.js +++ b/server/monitor-types/dns.js @@ -34,12 +34,16 @@ class DnsMonitorType extends MonitorType { switch (monitor.dns_resolve_type) { case "A": case "AAAA": - case "TXT": case "PTR": dnsMessage = `Records: ${dnsRes.join(" | ")}`; conditionsResult = dnsRes.some(record => handleConditions({ record })); break; + case "TXT": + dnsMessage = `Records: ${dnsRes.join(" | ")}`; + conditionsResult = dnsRes.flat().some(record => handleConditions({ record })); + break; + case "CNAME": dnsMessage = dnsRes[0]; conditionsResult = handleConditions({ record: dnsRes[0] }); diff --git a/src/components/CreateGroupDialog.vue b/src/components/CreateGroupDialog.vue index ba7fe6eb7..8bac1ccd0 100644 --- a/src/components/CreateGroupDialog.vue +++ b/src/components/CreateGroupDialog.vue @@ -42,6 +42,9 @@ export default { mounted() { this.modal = new Modal(this.$refs.modal); }, + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** * Show the confirm dialog @@ -58,6 +61,19 @@ export default { this.$emit("added", this.groupName); this.modal.hide(); }, + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } + } }, }; diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index bed841fa5..56cae66c8 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -235,6 +235,9 @@ export default { mounted() { this.modal = new Modal(this.$refs.modal); }, + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** @@ -339,6 +342,20 @@ export default { }); } while (this.$root.notificationList.find(it => it.name === name)); return name; + }, + + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } } }, }; diff --git a/src/components/ProxyDialog.vue b/src/components/ProxyDialog.vue index fc92359b9..2f7ed7b61 100644 --- a/src/components/ProxyDialog.vue +++ b/src/components/ProxyDialog.vue @@ -125,11 +125,12 @@ export default { } }; }, - mounted() { this.modal = new Modal(this.$refs.modal); }, - + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** * Show dialog to confirm deletion @@ -209,6 +210,20 @@ export default { } }); }, + + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } + } }, }; diff --git a/src/components/TagsManager.vue b/src/components/TagsManager.vue index a8a96ccbb..aa8f93a83 100644 --- a/src/components/TagsManager.vue +++ b/src/components/TagsManager.vue @@ -248,6 +248,9 @@ export default { this.modal = new Modal(this.$refs.modal); this.getExistingTags(); }, + beforeUnmount() { + this.cleanupModal(); + }, methods: { /** * Show the add tag dialog @@ -459,6 +462,19 @@ export default { this.newTags = []; this.deleteTags = []; this.processing = false; + }, + /** + * Clean up modal and restore scroll behavior + * @returns {void} + */ + cleanupModal() { + if (this.modal) { + try { + this.modal.hide(); + } catch (e) { + console.warn("Modal hide failed:", e); + } + } } }, }; diff --git a/src/components/notifications/Matrix.vue b/src/components/notifications/Matrix.vue index a9fd63403..60d43cf17 100644 --- a/src/components/notifications/Matrix.vue +++ b/src/components/notifications/Matrix.vue @@ -18,7 +18,7 @@ {{ $t("matrixDesc1") }}
curl -XPOST -d '{"type": "m.login.password", "identifier": {"user": "botusername", "type": "m.id.user"}, "password": "passwordforuser"}' "https://home.server/_matrix/client/r0/login"
.
+ curl -XPOST -d '{"type": "m.login.password", "identifier": {"user": "botusername", "type": "m.id.user"}, "password": "passwordforuser"}' "https://home.server/_matrix/client/v3/login"
.