Roon Extension Manager v0.11.9 [Obsolete]

RoPieeeXL might be a better fit, but let’s leave that up to @spockfish.

1 Like

I can use ssh to connect from my laptop, but will need instructions regarding the required commands etc to extract the relevant logs.

With an established ssh connection you start off by listing the containers:

docker ps

There should be one that is probably called theappgineer-roon-extension-manager1 (based on your screenshot).

With the name of the container known the log can be captured with:

docker logs theappgineer-roon-extension-manager1 > roon-extension-manager.log

Get the log file from the NAS, upload it somewhere and provide me with a link. I will have a look at it.

Roon Extension Manager v0.11.0 is now available

Although log file support was already introduced in version 0.8.0 there wasn’t a universal way to actually get the logs, that’s what is now fixed.

If you have logging enabled for some extensions you can now click the Extension Manager link in the Extensions overview to download an archive that includes all the log files. It is no longer necessary to setup an ssh connection, search for the storage location of the log files or perform some other platform specific action.

The log archive is in tar.gz format and is natively supported on Linux and macOS. On windows you can use the free 7-Zip tool.

Version 0.11.1

After I released version 0.11.0 I noticed that an updated dependency of the Roon API (i.e. ws) caused problems, because it uses an npm mechanism called peer dependencies that wasn’t supported by the Extension Manager. To make a technical story short, the issue has been fixed in version 0.11.1.

In case you are still encountering issue, please let me know.

1 Like

Using the dockerized Roon Extension Manager on my QNAP Core, I noticed the following so far:

  • loses pairing (again and again)
  • none of the previously installed extensions (Alarm Clock, Web Controller) are running or recognized
  • Alarm Clock wants to install a docker image now (why?)
  • Web controller can’t be installed
Summary
2019-12-15T21:08:41.699Z - Inf: Installing: roon-web-controller...                                                                                                                                                                                     
-> CONTINUE 1 Changed {"message":"Installing: roon-web-controller...","is_error":false}                                                                                                                                                                
-> CONTINUE 1 Changed {"message":"Installing: roon-web-controller...","is_error":false}                                                                                                                                                                
-> CONTINUE 1 Changed {"message":"Installing: roon-web-controller...","is_error":false}                                                                                                                                                                
<- REQUEST 327 com.roonlabs.settings:1/unsubscribe_settings {"subscription_key":"185"}                                                                                                                                                                 
-> COMPLETE 327 Unsubscribed                                                                                                                                                                                                                           
2019-12-15T21:09:04.649Z - Inf: Installing peer dependency: utf-8-validate@^5.0.2...                                                                                                                                                                   
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
2019-12-15T21:09:11.716Z - Inf: Installing peer dependency: bufferutil@^4.0.1...                                                                                                                                                                       
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
2019-12-15T21:09:18.767Z - Inf: Installing peer dependency: utf-8-validate@^5.0.2...                                                                                                                                                                   
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
2019-12-15T21:09:24.918Z - Inf: Installing peer dependency: bufferutil@^4.0.1...                                                                                                                                                                       
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
url: https://raw.githubusercontent.com/pluggemi/roon-web-controller/master/.gitignore                                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}

And so on and on and on …

There is some sort of install loop of peer dependencies, I have to dive into it.

What worked for me as a workaround is a restart of the Extension Manager after that I could start the Web Controller.

Yes maybe, but I wouldn’t have tried to install it when the new REM just had started the previously installed version(s) of the extensions. Seems there are more changes than just the advertised log file retrieval – or that change broke something seriously?

Update:

Doing so tries to open http://192.168.11.1:2507/extension-logs.tar.gz on my installation which is futile.

With the recommended --network host option for docker it should definitely use the host machine’s IP-address instead of docker’s bridge address and still then one would have to set a firewall rule for port 2507, only if one is active on the host of course, to be able to access that URL.

Is it possible that the Roon Extension Manager automatically updates to the latest version, which uninstalls the installed Roon extensions?
I am writing for the version installed in Windows 10.
Regards Robert TotaIs it possible that the Roon Extension Manager automatically updates to the latest version, which uninstalls the installed Roon extensions?
I am asking for the version installed in Windows 10.
Regards Robert
Regards Robert

From time to time I observe the automatic uninstallation of the Web Controller Manager. Next time I will try to restart the Roon | Extension Manager service. I hope this can cause the Web Controller to start. I was going to install Roon Extension Manager as a Docker on my Qnap server but reading the comments of the discussion participants would probably put me in even more trouble than with the current configuration when Extension Manager is installed on Windows 10 Pro.
Regards Robert

I ditched the installation and started fresh.

  • Web Controller still has the reported install loop, but your workaround helped now.
  • A somewhat long-standing issue is that updates to the Web Controller seem to delete the installation directory and create a new one, thus deleting the configfile and renders the extension inoperable until I recreate the configfile (to set a valid port).
  • It seems to be impossible now to install Alarm Clock natively, it’s installing a new docker for the extension. Intended?
  • The problem with the wrong IP-address to download the logfiles is still present, wasn’t because of the old install.
  • Loses pairing again and again: Despite the fact that I have to click on pair in the Roon client, the REM seems to default to the wrong core (yes, I’m running two cores in the same network) every time even if I never before clicked on pair on the other core with this new installation. It only affects the Roon Extension Manager, the enabled state of the installed extensions (stored in Roon?) is not affected.

Bug fix release v0.11.2

The issue you are facing is related to what I wrote in the release post under the v0.11.1 heading.

I just released a fix for the “install loop”, please let me know if things are getting better now.

Thanks @Jan_Koudijs, with v0.11.2 the “install loop” for the Web Controller Extension is fixed on my installation.

Summary
2019-12-16T20:54:34.409Z - Inf: Updating: roon-web-controller...                                                                                                                                                                                       
-> CONTINUE 1 Changed {"message":"Updating: roon-web-controller...","is_error":false}                                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Updating: roon-web-controller...","is_error":false}                                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Updating: roon-web-controller...","is_error":false}                                                                                                                                                                  
2019-12-16T20:54:54.513Z - Inf: Installing peer dependency: utf-8-validate@^5.0.2...                                                                                                                                                                   
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
-> CONTINUE 1 Changed {"message":"Installing peer dependency: utf-8-validate@^5.0.2...","is_error":false}                                                                                                                                              
2019-12-16T20:55:00.504Z - Inf: Installing peer dependency: bufferutil@^4.0.1...                                                                                                                                                                       
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Installing peer dependency: bufferutil@^4.0.1...","is_error":false}                                                                                                                                                  
url: https://raw.githubusercontent.com/pluggemi/roon-web-controller/master/.gitignore                                                                                                                                                                  
2019-12-16T20:55:07.327Z - Inf: Updated: roon-web-controller (1.2.12)                                                                                                                                                                                  
-> CONTINUE 1 Changed {"message":"Updated: roon-web-controller (1.2.12)","is_error":false}                                                                                                                                                             
-> CONTINUE 1 Changed {"message":"Updated: roon-web-controller (1.2.12)","is_error":false}                                                                                                                                                             
-> CONTINUE 1 Changed {"message":"Updated: roon-web-controller (1.2.12)","is_error":false}                                                                                                                                                             
-> CONTINUE 1 Changed {"message":"Updated: roon-web-controller (1.2.12)","is_error":false}                                                                                                                                                             
-> CONTINUE 1 Changed {"message":"Updated: roon-web-controller (1.2.12)","is_error":false}                                                                                                                                                             
-> CONTINUE 1 Changed {"message":"Updated: roon-web-controller (1.2.12)","is_error":false}

How can I check the version of Roon Extension Manager currently installed on Windows 10?
I would like to make sure I have the latest version with the latest patches.
Regards Robert

Open Roon and go to Settings|Extensions, the version number for every extension is shown there.

1 Like

Thank You wery much. Robert

There is a backup mechanism in place that should take care of your settings during an update. This should e.g. prevent the need to re-authorize the extension. For the Web Controller config.json and config/local.json should be kept.

It’s a feature. If the Extension Manager runs in a container then it prefers containerized extensions over the npm extensions that end up in a volume of the REM container. Pure containerized extensions are less sensible to npm dependency issues like we just had. It can be changed via the features.json file if you really want to. Why the preference?

An update of the Extension Manager will not uninstall your extensions, and the extensions that were running before the updated should be automatically restarted after the update. If the Web Controller isn’t running anymore then the first step is to check if it can be started again via the Extension Manager.

The Extension Manager only uses a small part of the Roon API, for this reason it doesn’t need to be authorized to access your Roon core. The Roon API seems to have an issue for this use case, where it stores the paired_core_id but doesn’t use it. Is in your setup the “default core” running 24/7 and the “paired core” going offline regularly? It might be the case that the extension falls back to the “default core” when the “paired core” goes offline, which isn’t recovered when it gets back online again.

That’s a bug.

Thanks for your feedback!

Then all should be fine. :grinning:
I was never able to pin down the cause for the disappearance of the config file in the past (update to REM, the repository or the extension itself) and the problem after updating the REM to v0.11.1 was surely something different.

It was previously installed internally and now changed behavior and installed in the docker. While I was aware that there is the possibility to install dockerized extensions, if I remember correctly it was introduced with the release of the CD ripper extension, I was unaware that it affects the alarm clock extension also. That’s why asked for confirmation if this is intended behavior; there’s no preference from my side actually.

When my wife checks if the Web Controller is running it cannot be started because it is not installed. I need to reinstall it. Then start and then works again until the next case when it disappears inexplicably. I thought REM is updating automatically and this may cause uninstalling of Roon extensions. But you write that this should not happen … I hope you can explain the automatic uninstallation of Web Controller. It is troublesome for me because due to the unavailability of the Roon Controller I have to ask the sighted person to check and reinstall it for me. Regards Robert
ps. many thanks for the great work and sharing of this application and for quick response to reported problems.