jamesbarnett91/airsonos-docker

Avahi/airsonos compatibility issue

Opened this issue · 0 comments

I was hoping to use this docker image to fix a problem made this break for me in a FreeNAS jail, but I'm getting the same error on startup with this image:

Starting system message bus: dbus.
Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon.--network=host jbarnett/airsonos
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
Searching for Sonos devices on network...

/usr/local/lib/node_modules/airsonos/node_modules/sonos/lib/logicalDevice.js:84
        devices.forEach(function(device) {
               ^

TypeError: Cannot read property 'forEach' of null
    at /usr/local/lib/node_modules/airsonos/node_modules/sonos/lib/logicalDevice.js:84:16
    at /usr/local/lib/node_modules/airsonos/node_modules/sonos/lib/sonos.js:719:7
    at Parser.<anonymous> (/usr/local/lib/node_modules/airsonos/node_modules/xml2js/lib/xml2js.js:255:20)
    at emitOne (events.js:96:13)
    at Parser.emit (events.js:188:7)
    at Object.saxParser.onclosetag (/usr/local/lib/node_modules/airsonos/node_modules/xml2js/lib/xml2js.js:225:24)
    at emit (/usr/local/lib/node_modules/airsonos/node_modules/sax/lib/sax.js:615:33)
    at emitNode (/usr/local/lib/node_modules/airsonos/node_modules/sax/lib/sax.js:620:3)
    at closeTag (/usr/local/lib/node_modules/airsonos/node_modules/sax/lib/sax.js:861:5)
    at Object.write (/usr/local/lib/node_modules/airsonos/node_modules/sax/lib/sax.js:1293:29)
    at Parser.exports.Parser.Parser.parseString (/usr/local/lib/node_modules/airsonos/node_modules/xml2js/lib/xml2js.js:273:29)
    at Parser.parseString (/usr/local/lib/node_modules/airsonos/node_modules/xml2js/lib/xml2js.js:6:61)
    at Object.exports.parseString (/usr/local/lib/node_modules/airsonos/node_modules/xml2js/lib/xml2js.js:296:19)
    at Request._callback (/usr/local/lib/node_modules/airsonos/node_modules/sonos/lib/sonos.js:702:12)
    at Request.self.callback (/usr/local/lib/node_modules/airsonos/node_modules/sonos/node_modules/request/request.js:129:22)
    at emitTwo (events.js:106:13)

I'm not 100% sure but my guess is that the version of Avahi built into the image is too new for airsonos?