Roon Extension Manager v0.11.9 [Obsolete]

Output:

C:\Users\administrator.FARMASERVICE\AppData\Roaming\RoonExtensions>roon-extension-manager.bat
C:\Users\administrator.FARMASERVICE\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\lib\websocket.js:347
…options
^^^
SyntaxError: Unexpected token …
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions…js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (C:\Users\administrator.FARMASERVICE\AppData\Roaming\RoonExtensions\node_modules\roon-extension-manager\node_modules\ws\index.js:3:19)

C:\Users\administrator.FARMASERVICE\AppData\Roaming\RoonExtensions>

OK, there is the problem.

June 12 there was an update of a dependency of the Roon API, does that match with the moment the problem started?

@ben, can this be an incompatibility between the Roon API and ws 3.3.1?

Edit: version that is actually used is 7.0.1

[root@grendel lib]# ./roon-extension-manager.sh 
/root/.RoonExtensions/lib/node_modules/roon-extension-manager/node_modules/ws/lib/websocket.js:347
      ...options
      ^^^

SyntaxError: Unexpected token ...
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/root/.RoonExtensions/lib/node_modules/roon-extension-manager/node_modules/ws/index.js:3:19)

@Jan_Koudijs, same as in Linux…

Yep, you both run into the same problem. I don’t see this on Arch Linux.

[root@grendel lib]# node -v
v6.16.0
[root@grendel lib]# uname -a
Linux grendel.home 3.10.0-957.12.2.el7.x86_64 #1 SMP Tue May 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@grendel lib]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

Version 6 of node is pretty old and also still used in the Windows install.
Can you somehow update to version 8 or 10 and see if this solves the problem?

1 Like

You bet!

Up to nodejs v12 is available directly from nodesource, it turns out.

I opted for 11. You know… because my amp goes to 11. :wink:

[root@grendel lib]# node -v
v11.15.0
[root@grendel lib]# ./roon-extension-manager.sh 
{ 'roon-extension-manager': '0.10.0',
  'roon-extension-manager-updater': '0.3.0' }
Docker not found
2019-06-25T20:39:54.947Z - Inf: Installing: roon-extension-repository...
2019-06-25T20:39:54.962Z - Inf: Roon Extension Manager started!
-> REQUEST 0 com.roonlabs.registry:1/info 
<- COMPLETE 0 Success {"core_id":"[...]","display_name":"grendel","display_version":"1.6 (build 416) stable"}
-> REQUEST 1 com.roonlabs.registry:1/register {"extension_id":"com.theappgineer.extension-manager.grendel","display_name":"Roon Extension Manager @grendel","display_version":"0.10.0","publisher":"The Appgineer","email":"theappgineer@gmail.com","required_services":[],"optional_services":[],"provided_services":["com.roonlabs.settings:1","com.roonlabs.status:1","com.roonlabs.pairing:1","com.roonlabs.ping:1"],"website":"https://community.roonlabs.com/t/roon-extension-manager/26632"}
<- CONTINUE 1 Registered {"core_id":"[...]","display_name":"grendel","display_version":"1.6 (build 416) stable","token":"25583012-e266-4188-a3fa-e0e6a4e08945","provided_services":[],"http_port":9100}
<- REQUEST 1 com.roonlabs.status:1/subscribe_status {"subscription_key":"181"}
-> CONTINUE 1 Subscribed {"message":"Core paired","is_error":false}
<- REQUEST 2 com.roonlabs.pairing:1/subscribe_pairing {"subscription_key":"182"}
-> CONTINUE 2 Subscribed {"paired_core_id":"[...]"}
url: https://raw.githubusercontent.com/TheAppgineer/roon-extension-repository/master/.gitignore
404: Not Found

2019-06-25T20:39:59.462Z - Inf: Installed: roon-extension-repository (0.3.2)
-> CONTINUE 1 Changed {"message":"Installed: roon-extension-repository (0.3.2)","is_error":false}
{}
2019-06-25T20:39:59.467Z - Inf: Extension Repository loaded
-> CONTINUE 1 Changed {"message":"Extension Repository loaded","is_error":false}
-> CONTINUE 1 Changed {"message":"Extension Repository loaded","is_error":false}

That does look different. =)

1 Like

Trying to upgrade node.js gave the following result:

PS C:\Program Files\nodejs> Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
PS C:\Program Files\nodejs> npm install --global --production npm-windows-upgrade
C:\Users\administrator.FARMASERVICE\AppData\Roaming\RoonExtensions\npm-windows-upgrade -> C:\Users\administrator.FARMASERVICE\AppData\Roaming\RoonExtensions\node_modules\npm-windows-upgrade\bin\npm-windows-upgrade.js
C:\Users\administrator.FARMASERVICE\AppData\Roaming\RoonExtensions
`-- npm-windows-upgrade@6.0.1

PS C:\Program Files\nodejs> npm-windows-upgrade
npm-windows-upgrade : The term ‘npm-windows-upgrade’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1

  • npm-windows-upgrade
  •   + CategoryInfo          : ObjectNotFound: (npm-windows-upgrade:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException
    
    

PS C:\Program Files\nodejs>

Good!

You might have a look at the npm version that got installed as version 6.9.0 (the latest) has known issues.

Maybe download an installer instead:

https://nodejs.org/download/release/v11.15.0/

I will look into an update of the Extension Manager installer, it is anyway long overdue.

Installed Node.js LTS Version 10.16.0 (includes npm 6.9.0) from https://nodejs.org/en/download/ and that did the trick.

The “Updates query failed” error is caused by a bug in npm 6.9.0. If you downgrade to Node.js 11.15.0 then you should fall back to npm 6.7.0 and all should be fine.

An updated Windows installer is available now:

1 Like

Hello @Jan_Koudijs I tried to install and run your extension manager using your docker installation on the raspberry pi you instructed here.

However after starting the container it shows the following error status:

Simply put it is not running and not available in the Roon Extension segment. How can I sort this one out?

Anything useful in the logs?

docker logs roon-extension-manager

Thanks for your reply, this is the log:

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

standard_init_linux.go:190: exec user process caused “exec format error”

Looks like you haven’t pulled the ARM tag:

theappgineer/roon-extension-manager:arm32v6

Correct, I was convinced it would pull the correct version by itself. I will try again the proper way. Thanks for your reply.

If you don’t specify a tag it will pull latest, which is 64 bits Intel/AMD in this case.

Well it works perfectly now. I am a bit confused how to properly use the cd-ripper extension though. After it has successfully ripped a cd and I give the command to “push” it does not transfer the ripped album to my Roon library (which is stored on the internal SSD on my ROCK system. In the settings I can only modify the folder (˜music) where the extension stores the music on the RPi.

Also since I am using the Apple Superdrive (with no physical eject button) it would be very handy to have the option to eject in the extension. :slight_smile: