[Announce] Dashboard Version 2.15.0, 1, 2, 3, 4, 5

Just a few tiny updates and fixes this time, so small you may not notice or need them.


  • Allow ui_chart to have many more options set by control message, see config-fields.md
  • Allow ui.middleware in settings.js to specify middleware for use with dashboard endpoint. See PR #209 for example usage.


  • Ensure msg.enabled applies to all themes. Issue #481
  • Ensure theme applies to popup dialog alerts also.
  • Ensure slider only sends on mouse up when in that mode. Issue #490

If I'm correct then the API exposes now theme properties and site sizes
Helpful addition for custom ui-widget development


And now have released 2.15.1 and .2 with some small fixes to issues raised


  • Fix legend being visible when it should not be. Issue #494
  • Fix ui_text_input time mode to accept and passthrough input correctly. Issue #495
  • Fix theme to better handle new ui_list node switch styles.
  • Fix built in fa-icons font paths


After I upgraded it to the latest version, but I want to try some things on the older version eg 2.14.0. How to return to the older version.
Is there a wiki to guide this? Sorry if this topic is already in the forum.

Thank you.

Same as any npm package npm i node-red-dashboard@2.14.0

And now with more fixes as per below.... particular thanks to @wongnam for flushing out so many wrinkles.

2.15.3: Maintenance Release


  • Let ui_template use full screen editor (when used with NR 1.0)


  • Fix slider css so numbers stay visible when in "on release only" mode
  • Fix switch to show correct state for late connecting clients. Issue #497
  • Fix button to show correct state for late connecting clients. Issue #499
  • Fix sidenav to ensure colour picker is behind it. Part of issue #492
  • Better contrast for sidebar menu buttons to work across themes. Issue #500
  • Revert colour picker to its default design with colour + lightness, add square option, and fix cursor. Issue #502
  • Fix slider discrete mode to align better, blend theme better and not hide thumb. Issue #503
  • Fix button to return to original colour on loss of focus. Issue #504

Chart and gauge editors have style issue

Welcome to Node-RED

27 May 13:33:32 - [info] Node-RED version: v1.0.0-beta.2
27 May 13:33:32 - [info] Node.js version: v10.14.0
27 May 13:33:32 - [info] Windows_NT 10.0.17134 x64 LE
27 May 13:33:33 - [info] Loading palette nodes
27 May 13:33:35 - [info] Worldmap version 1.5.39
27 May 13:33:35 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
27 May 13:33:35 - [info] Dashboard version 2.15.3 started at /ui
27 May 13:33:35 - [info] Settings file : \Users\endele.node-red\settings.js
27 May 13:33:35 - [info] HTTP Static : E:\nrs
27 May 13:33:35 - [info] Context store : 'default' [module=localfilesystem]
27 May 13:33:35 - [info] User directory : \Users\endele.node-red
27 May 13:33:35 - [info] Server now running at
27 May 13:33:35 - [info] Active project : TestAndDo
27 May 13:33:35 - [info] Flows file : \Users\endele.node-red\projects\TestAndDo\flow.json

Yeah - fix already in master - https://github.com/node-red/node-red-dashboard/commits/master
Which of course I spotted 5 mins after publishing it.

Any more wrinkles anyone can see before I push 2.15.4 ?

1 Like

Sorry if I'm late but
Switch node editor exposes Icon customizing fields if default icon is selected. By filling them with data and closing editor, nothing stored. Nothing really broken also but not correct behavior from the user perspective.

If you change the Icon option to custom and then back to default, the customizing option fields will be hidden, which they should be for initial state I think.


nice one - that's exactly the sort of thing... Thanks

Version 2.15.4 released... hopefully little bits now mopped up


  • Add CSS variable names for main theme colours to make user customisations easier


  • Re-fix switch to not visibly switch when set to show input not output. Issue #506
  • Fix colour swatch widths in ui_chart and ui_gauge.

Note: For users creating their own ui_templates the following CSS variable names are now available
to help pick up the theme colours.

  • --nr-dashboard-pageBackgroundColor
  • --nr-dashboard-pageTitlebarBackgroundColor
  • --nr-dashboard-groupBackgroundColor
  • --nr-dashboard-groupTextColor
  • --nr-dashboard-groupBorderColor
  • --nr-dashboard-widgetBackgroundColor
  • --nr-dashboard-widgetTextColor
  • --nr-dashboard-widgetBorderColor
1 Like

2.15.5: Maintenance Release

Quite a few wrinkles mopped up - thanks to all of you for reporting them, and one extra... We are adding the compression middleware by default to try to speed up loading times... let us know if you think it makes things worse. So far it looks good - but I can't test all use cases...


  • Add compression middleware by default to speed up loading. Thanks @zyrorl


  • Fix legend to keep items hidden when new data arrives. Issue #507
  • Re-re-fix switch to not show correct icon despite passthru, and toggle output correctly. Issue #506
  • Make Dialog and Toast be more consistent
  • Fix odd gauge behaviour when in donut mode
  • Fix UI redraw (not redrawing when changing tabs). PR #508
  • Fix vertical slider in only on release mode
  • Let webfont loader be async to not delay page load when offline, and fail silently
  • Fix Datepicker to honour Site date format
  • Tweak passthrough option wording to try to match what actually happens
  • Fix text-input to only send one message when using tab key to move fields


I've updated from 2.14 to 2.15.5.
The ui-switch seems to be broken after updating, the true input doesn't work.


[{"id":"4861d5bb.68746c","type":"ui_switch","z":"1d3866f1.0e8e09","name":"","label":"greenhouse control","tooltip":"","group":"8bcf4352.7afe4","order":1,"width":0,"height":0,"passthru":false,"decouple":"false","topic":"","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":370,"y":220,"wires":[["c5f16c41.2387c"]]},{"id":"c5f16c41.2387c","type":"debug","z":"1d3866f1.0e8e09","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":550,"y":220,"wires":[]},{"id":"6592697e.812898","type":"inject","z":"1d3866f1.0e8e09","name":"","topic":"","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":170,"y":240,"wires":[["4861d5bb.68746c"]]},{"id":"f5144e2e.25a0a","type":"inject","z":"1d3866f1.0e8e09","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":170,"y":200,"wires":[["4861d5bb.68746c"]]},{"id":"8bcf4352.7afe4","type":"ui_group","z":"","name":"Control","tab":"1ef6b756.7d01a9","order":3,"disp":true,"width":"6","collapse":false},{"id":"1ef6b756.7d01a9","type":"ui_tab","z":"","name":"Greenhouse","icon":"dashboard","order":5}]

check the Pass though msg if payload matches new state: box

Thanks! I know that but I can't set it because I get an infinity loop. (The example I uploaded is simplified).
As I said it works with v2.14.

Without more information l don’t see how anyone can help

I think this was a change made to the way the switch works. To allow an input to switch it as well as allowing manual switching I think you have to set Pass through. You can solve the loop problem by adding an RBE node after the switch

I compared ui_switch.js (v2.14-2.15.5)
Only line 86 has been added:

if (!this.forwardInputMessages && this.storeFrontEndInputAsState) { return oldval; }

Sure there are workarounds but it would be great to keep compatibility to v2.14.

Is there a comment in the commit for that?

I'll have a look later