Volumio2-UI, rabbit holes

Hey music player enthusiasts.

I had a fun afternoon going through the Volumio UI Setup section of the guide today. I had a couple of experiences during setup I wanted to share that might be good fodder for discussion. I’m new and still learning my way around the architecture. Talking through problems is educational for me.

First, the guide. I followed the rules as closely as possible. I’m developing on a Mac (os 10.13) and wiped out my previous installation of Node.

Installation of Node, Bower and Gulp was painless enough. I followed the instructions to set my local-config.js and told gulp to start my server with gulp serve theme=“volumio”.

This is where I hit my first snag. Gulp exited with an error outlined in the following Github issue:


Digging deeper, the root of the problem is an outdated version of websocket.io bundled with our version of karma which is several versions out of date. I blew away my repo and tried modifying the included version of karma with a newer one, but of course that changes the dependencies for karma-jasmine and likely a number of other packages.

So, questions:

  1. I’m wondering if there are any open issues to update top-level modules to newer versions for easier compatibility?
  2. Are there technical reasons some packages are stuck on outdated versions? I know some of the socket.io stuff is harder to update, especially on more limited platforms like ARM because it requires some C++ compilation.
  3. Is there a large body of unittests written for Karma+Jasmine in the Volumio codebase? Are they preventing these libraries from being brought up-to-date?

One suggestion in the github issue is to run the x86 image inside a VM. Not a terrible idea, but I’d like to develop without the extra indirection. Has anyone tried bundling volumio ui inside a container?

Anyway, thanks for reading! Looking forward to your insights.

I often run volumio x86 in a VM (virtual box). You have to convert the IMG in vdi using something like VBoxManage convertdd input.img output.vdi (I can’t check now). The with gulp serve you can see in live your mod in the UI code.

I’ll look into it, but it’s not ideal, given that it adds another layer to the whole thing. I’d much prefer being able to run without one.

Any opinions on updating some of the included modules to later versions?

“reasons”. gotcha. :neutral_face:

Workaround for this issue:

Downgrading to Node.js 6.x on my system allowed me to get through the setup and serve a local copy of Volumio UI for development work.

Have you had any problems in setting up sources?
I haven’t managed… It seems like the VM (Virtual box) is not recognizing any folders in the Network. (??)

Would you please stop dropping your question in multiple threads.
It is not going to get you a solution any faster.
If everyone starts doing that, we have a mess in no time.