Roon Extension: Roon Web Controller v1.0.0 (on GitHub)

+1. I’ll definitely give it a whirl tonight. It’d be great to be able to use the Linux desktop for selection and playback control.

1 Like

is there a simple way to add this to an existing Node start up or does one have to have 2 instances of node running…

i.e. is you are running Alarm clock extension now how does one add another to the environment outside of rooms interface.

Im using W10Pro 64bit with node and git installed…

While I am feeling a bit of a git :blush: asking this its going to be worth the embarrassment I hope.

Unfortunately you will need two instances of node running.

There are some node modules out there that let you do process management including running multiple products. But I have not messed with them so I cannot speak to how or how well they work.

Got the dev running on my dev setup. Looking good!
Oh cant wait for the library function! :smiley:

@Mike_Plugge Is happening again. I think I found the issue… For each connection I make to the application (WebUI) it replicates my zone list. So is not handeling multiple concurrent connections to the WebUI very well… IE: Browsing from my laptop and from my desktop… This is a bug :slight_smile:
Just a heads up.

Note: The restart does fix it because it resets the web call, As soon as I refresh my second system they replicate again…

Grr…

When I get home from work I will take a look at how the zoneList is sent over the web socket. That is the only place I can think of that this could be happening…

1 Like

Are you seeing this on the dev branch?

Do you have any steps that I can use to replicate this?

One of my first steps will be to create a debug page to help narrow down the problem. But any details you can provide would definitely help me to track this down…

@Mike_Plugge this is with both stable and dev branch. Stable runs as a system service and the dev runs manually. When I run ether or and make my initial request to the website via Chrome or even Firefox the zones look just fine… When I move to a secondary machine no matter the OS or browser when I browse to the page the zones duplicate. I will post a couple of examples soon.

nodejs server Debian Jessie x86_64:

ffuentes@biO10:~$ uname -a
Linux biO10 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1 (2016-12-30) x86_64 GNU/Linux
ffuentes@biO10:~$

nodejs user: node

node application: roon-web-controller-dev

Behavior:
For each connection I make to the application (WebUI) it replicates my zone list. So is not handling multiple concurrent connections to the WebUI very well… IE: Browsing from my laptop and from my desktop.

Both clients:
Chrome: Version 56.0.2924.87 (64-bit)
FireFox ESR 45.9.0 (64-Bit)

Clients are both on Debian Jessie same kernel as server:
Desktop single connection:

Two Desktops:

I just open a new tab on my firefox and it showed the same behavior… :cry:

I am not able to reproduce this problem. I currently have 5 sessions open (2 Chrome, 1 qt-webengine widget, and 2 Safari windows) across 3 different systems and I am not seeing this issue.
EDIT: Added a few Firefox sessions into the mix and still cannot reproduce the problem.

I just pushed a new commit to the “dev” branch that has some debugging enabled.

Can you pull it down? What I would like to see is a screenshot of the page at:
http://localhost:8080/debug.html and the contents of the debug.log file that will be created in the base of the software.

The debug web page is not pretty, but between it and the debug.log, it should point me in the right direction of where the problem is.

Thanks for testing this out! It is very much appreciated!

Got it up and running here. Very nice, looking forward to browse capability so I don’t have to keep an iPad or iPhone handy for casual listening whilst working on PC. :heart_eyes:

@Mike_Plugge Ill setup the new pull later this morning.
Thanks for the help!

Ok @Mike_Plugge , I got your new dev up and running. After a clear of my browser cache I have not seen the issue come up.
I am now going to wait and see what happens.

Thanks for all this!

@Mike_Plugge here its the debug:

I need the debug.log, too please

@Mike_Plugge as requested:

https://drive.google.com/open?id=0B02LmhzZu_zARl9tRVgzN081VlU

I see two issues:

  1. the output_id should not be getting populated into the variable and should not be on the debug.html page. That code was removed both in the “master” and “dev” branches with commit “917718ae3ce9f88ff5c956e263b4113380ac3e39” - 4 days ago.

  2. But the main problem is that it looks like weird data coming from the Roon API. I see your two zones as part of the Subscribe section, then they show up again as zones_added messages. But there were no zones_removed in between them…

I will definitely dig further into this. The problem looks like it is in the code in the app.js as part of the parsing logic for transport.subscribe_zones or the roon-api itself which will require a work around in the parsing logic…

But short term, can you please restart your Roon server to see if the problem persists?

1 Like

Thanks @Mike_Plugge.

I restart and it goes away but eventually creeps it’s way back…

Okay…

  1. i found where the output_id is coming from. That is fixed in my local copy.

  2. Looks like I need to add some more logic to the parser when a zone is added to check to see if it is a duplicate. Will work on this after work.

Thanks for the bug report - it proved that one of my assumptions was incorrect.

1 Like