From 6b8a2924a5ca487ac447b4961ba45da6412e9009 Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Mon, 11 Nov 2019 11:28:29 +0000 Subject: [PATCH] Filter mDNS responses. Fixes #47 --- .../viewComponents/connectDisplay.vue | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/components/viewComponents/connectDisplay.vue b/src/components/viewComponents/connectDisplay.vue index 11f184cb..5ff0d75d 100644 --- a/src/components/viewComponents/connectDisplay.vue +++ b/src/components/viewComponents/connectDisplay.vue @@ -145,9 +145,6 @@ export default { if (mdns) { // TODO: Have this run periodically on a timer - // Store the current context for callbacks - var context = this; - // Create a browser to search for 'openflexure' type services var browser = mdns.createBrowser(mdns.tcp('openflexure')); @@ -156,18 +153,31 @@ export default { browser.discover(); }); - browser.on('update', function (data) { - var hostData = { - hostname: data.addresses[0], - name: `${data.host} on ${data.networkInterface}`, - port: data.port + browser.on('update', (data) => { + console.log(data) + + // We will be checking if it's a valid openflexure device + var validDevice = false + + // Go through each type of the host, make valid if 'openflexure' appears + data.type.forEach((element) => { + console.log(element) + if (element.name === "openflexure") { + validDevice = true } + }) - if (typeof data.port !== "undefined") { - context.$set(context.foundHosts, hostData.hostname, hostData) - } + var hostData = { + hostname: data.addresses[0], + name: `${data.host} on ${data.networkInterface}`, + port: data.port + } - console.log(context.foundHosts) + if ((typeof data.port !== "undefined") && (validDevice === true)) { + this.$set(this.foundHosts, hostData.hostname, hostData) + } + + console.log(this.foundHosts) }); }