UIBuilder URL inconsistancies and issues

It happens from moment to moment. I currently have a clean setup of the latest node-red version and uibuilder version. I am having issues where the UIBuilder Node says that my URL is already in use.

However I can asure anyone that this is not the case. I have tried reinstalling node-red and uibuilder to get rid of this, but to no avail.

The issue is temporarily solved by redeploying my current build and or refreshing the page. If done, I can access and view my files but not always view my webpages correctly.

I made a quick recording of the issue, however it seems very inconsitant and slightly annoying to refresh and redeploy my flows if all I am changing is some html code. Here is a screenshot of my .node-red and uibuilder file location:

Video of used URL issue

Disclaimer: Please ignore my in the video trying to load pages/room.html and failing as the root is overview/pages/room.html

I suspect this is due to defining it in a subflow.

How many instances of this subflow do you have in regular flows?

If you move it all to a separate regular flow tab, does it still occur?

Hi,

Im using indeed a subflow. However I tend to only use this subflow instance once. As I have in my current setup, as adding a subflow adds better readability in my flows, even if its meant as a single instance subflow.

Ah, I don't believe I've tested putting a uibuilder node into a sub-flow for a long time! I don't know that anyone else does that. However, I can confirm that I am seeing the same issue, it is some logic issue in the uniqueness checks in the uibuilder Editor panel. I will add that to the backlog and get it fixed for the next release.

In the meantime, I can suggest 2 workarounds:

  • Use VS Code for doing front-end code edits.

    When you edit front-end code, you don't need to restart node-red at all so if that is all you need to do with your uibuilder node, this workaround is not only that but is likely also easier to work with than Node-RED's Monaco editor.

  • Using link nodes instead of a sub-flow since you only want to use the sub-flow once. If necessary, use a separate flow tab with suitable link-in/link-out nodes. You can hide the tab if you don't want it showing normally. To access that flow tab, use a link-call node instead of the sub-flow node.

    This gives you the same usability and clean view of your flows without using a sub-flow.