Roon-web-stack, a stack to drive roon from a web browser (current version: 0.0.7)

Hi @Norbert_Preining, that’s good news!
Out of curiosity, is there any kind of proxy/reverse-proxy between your browser and the nodeJs container running this app?
The app is using a Server Sent Event connection to handle events coming from roon and I’ve implemented an aggressive policy of reconnection on connection issue.
I’ve experimented a little on my side and realized that I had issue with nginx in the mix, with frequent reconnection whereas an Event Stream could stay open for more than 15h when consumed directly (just stopped checking at this point, it night still be up and running).
Before last version, there was some navigation caching done during the first connection, which could be a very plausible cause for your issue (with a reconnection loop, causing this navigation actions to be sent in a loop to roon, causing the issue with the stack and memory :person_shrugging:).
Would you mind check via your web inspector if the Server Sent Event connection is stable?

Hi @nihil
no proxy in the way, direct connect (via wlan).
I used the web developer tools to look around in the console and the issues etc, but didn’t find any mentioning of disconnects - but am not sure where I should have checked.
So from my side the issue is fixed - thanks a lot, super useful!

Hi @Norbert_Preining
Here is a screenshot of the web inspector in a chromium based browser

If you open the dev tools, go to the network tab and filter Fetch/xhr requests and then refresh the app, you should see these 3 requests.
The third one is the event stream, and should ideally stay open as long as the app is running.

Hi @nihil
yes, so it does. The eventsource connection did remain open for several actions and starting streams.

Hi @Norbert_Preining, everything seems fine…
Thanks for checking, we won’t find what was the root cause of your issue, simply enjoy that everything works nicely now.

1 Like

2 posts were split to a new topic: Diet Pi in a VM

I just discovered this, set up, and it works well as PWA! Thanks for this awesome webapp!

1 Like

Hi @nihil

It worked when I first installed it a few weeks back. Just tried it again tonight and I’m getting “Unable to connect” in Firefox, Chrome, Safari on my phone and Mac and same on my TV. I’ve tried stopping, updating, restarting, uninstalling, reinstalling the extension and that has not worked. I do not know what to do now. Any ideas?

I’ve collected log files but do not know how to share those with you.

Thank you I appreciate any help that you, or anyone can offer.

Cheers,
Dameon

Where is your extension running?
Is the IP address still correct? Potentially the machine running the extension was assigned a new IP address by your router/DHCP server.
If it is running on the same machine as your Roon Server, you can check the ip address of the server under Settings > General.

2 Likes

Ohhh ok. Whoops! I was typing in the IP address of my Roon ROCK NUC. I should have typed in the IP address of the device the extension is on, in this case my RooExtend Raspberry Pi. It’s working again! Thank you.

1 Like

Hi @nihil
Such a great extension, thanks for this one !
While it is working great on all my browsers, seem that on my old ipad mini 2 i’m hitting this issue: Animations not working on iOS 12 / 13: animate is undefined · Issue #45016 · angular/angular · GitHub
since angular support the latest 2 major Safari version.
Seem that the issue may contain some workardound, so if you think that it is something that you can consider to implement?
(Using Safari on the ipad cause it’s the only browser which can go fullscreen)
Thanks!

HI @Jean-Philippe_Menil, sorry for my late answer, I’ve had to focus on other stuffs these last months.
I can have a look, but as I’ve already said it, this could be an endless situation, as iOS 18 will launch this fall…
I’m actually working on very different things, so no big expectations.

Hi everyone, first of all, sorry for the long silence, but after all, summer is summer.
Two releases have been published silently though.

v0.0.9 is mostly a fix release, so nothing to really talk about.

On the other hand, v0.0.8 had introduced to features:

  • an alphabetical index to ease and speed navigation while browsing content. Due to limitations in roon api, it’s only available for collections of reasonable size (like albums and artist, but not for tracks).
  • a new way to build your own action (or shortcut) to create button that launch stuff you regularly do.

Here a quick video describing this feature:

As you can see, this is kind of a record and replay macro style of things, enabling you to create a shortcut for your favorite radio, your favorite playlist, or anything that can be browsed.
Some notes about this feature:

  • If you stop recording without choosing an action (like Shuffle in the exemple), the browsing window will be open at the location you’ve chosen.
  • this action are stored server side: so any action you define can be reused in any client (it becomes available in the Add Action menu)
  • if what you’ve chosen disappear, it won’t work… and won’t let you know
  • the icon must be the name of an icon available in google fonts:

I hope this new feature will ease your daily usage of this app.

If you use roon-extension-manager with auto updates activated, you might already be using this version, otherwise, update by pulling the latest tag from docker.

2 Likes

The last implemented features make this app as useful as I wanted it to be.
So despite adding some more layout/organization, I’ve not much idea to move forward (and the limitations implied by what’s available in roon api don’t help).

I’ve a genuine question: as @Jan_Koudijs has released his excellent Community Remote, I wonder if there’s still interest for this web stack.

I’ll continue (well, dependabot will, actually ) to update the different libraries, so there’ll be maintenance releases, but I wonder if more effort should be put.

Let me know, you can add you wish feature list.

Wish you all the very best and happy listening.

1 Like

Hi Nihil and as always thanks for your efforts, they are appreciated.

I use both the Web and community remote depending on what machine I am in front of and what I have installed on it.
Both are a good experience to use

3 Likes

I think, in some respects, your Web Stack and Community Remote can serve different purposes.

If I have a device (linux computer or android phone/tablet) that is regularly used as a Roon Remote, I might installed Community Remote. However, if a device is just to be used once, or at least very infrequently, then the Web Stack may be the more appropriate.

In actual fact, like @Michael_Harris, I have both installed and use both. I have Community Remote installed on my Android 8.1 Google Pixel C - as an alternative to the Roon app the latest versions of which are not supported on the Pixel C - and I have your web stack installed on my DietPi Roon Server so that more or less any device with a web browser can, if necessary, be used as a Roon remote.

Also, at present, there do not appear to be any pre-built binaries of Community Remote available for iPhone/iPad (IOS) devices (although I believe it can be built to target those devices).

4 Likes