[Announce] Dashboard 2.23.0, 1, 2, 3, 4

Been a while so just a few small fixes. mainly to include the underlying Angular security patch.

Enhancements

  • Fix custom colour sidebar choice to actually work.
  • Dropdown multi-select now allows select/deselect all. PR #590
  • Add iconify- keyword to icon handling (still need to add the js file via cdn in template).
  • Let notification node set timeout via msg.timeout property.

Fixes

  • Block direct websocket connection attempts - only allow upgrades.
  • Bump angular libs to 1.8.0 for security patch.
  • Stop chart sending blank data payload on deploy.
  • Ensure toast dialog cancel button defaults to on when in prompt with input mode. Issue #596
  • Remove some hardcoded CSS to help themeing support of editor.

2.23.1: Maintenance Release

Fixes

  • Fix date picker to return midnight on picked day. PR #600
  • Add some validation to dropdown widget values to flag duplicates.
  • Fix dropdown to only return valid options if options changed dynamically.
  • Fix group spacings to align better.
  • Fix wave gauge to also allow using random msg properties. Issue #607

2.23.2: Maintenance Release

Fixes

  • Fix dropdown to correct return values not labels

2.23.3: Maintenance Release

Fixes

  • Fix regression in dropdown returning 0 value. Issue #614
  • Fix ui_textinput-CR to allow any step so floats validate ok. Issue #609
  • Ensure voice option picks a unique selector. Issue #613
  • Update libraries to fix missing weather/moon icons

As usual - don't forget to flush browser caches to reload latest code.

6 Likes

What's that one? Is it something that I should consider for uibuilder?

It’s an attempt to check that the web socket is actually an upgrade of an existing connection and not a direct ws request in order to grab data and possibly inject control.

Thanks, I'll be checking out the code and I'll try to do something similar in uibuilder.

Last couple of times I've tried to upgrade Dashboard I get the following errors (log):

-----------------------------------------------------------
2020-07-11T12:55:12.256Z Install : node-red-dashboard 2.23.0

2020-07-11T12:55:13.452Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix="~" --production node-red-dashboard@2.23.0
2020-07-11T12:55:48.487Z [err] npm WARN checkPermissions Missing write access to /home/pi/.node-red/node_modules/node-red-contrib-example-lower-case
2020-07-11T12:55:50.990Z [err] npm 
2020-07-11T12:55:50.992Z [err] npm WARN .node-red No description
2020-07-11T12:55:50.992Z [err] npm WARN .node-red No repository field.
2020-07-11T12:55:50.992Z [err] npm WARN .node-red No README data
2020-07-11T12:55:50.992Z [err] npm WARN .node-red No license field.
2020-07-11T12:55:50.998Z [err] 
2020-07-11T12:55:51.027Z [err] npm
2020-07-11T12:55:51.029Z [err]  ERR! code ENOENT
2020-07-11T12:55:51.029Z [err] npm ERR! syscall access
2020-07-11T12:55:51.029Z [err] npm ERR! 
2020-07-11T12:55:51.030Z [err] path /home/pi/.node-red/node_modules/node-red-contrib-example-lower-case
2020-07-11T12:55:51.030Z [err] npm ERR! errno -2
2020-07-11T12:55:51.030Z [err] npm ERR! enoent ENOENT: no such file or directory, access '/home/pi/.node-red/node_modules/node-red-contrib-example-lower-case'
2020-07-11T12:55:51.030Z [err] npm ERR! 
2020-07-11T12:55:51.033Z [err] enoent This is related to npm not being able to find a file.
2020-07-11T12:55:51.033Z [err] npm ERR! enoent 
2020-07-11T12:55:51.201Z [err] 
2020-07-11T12:55:51.202Z [err] npm ERR! A complete log of this run can be found in:
2020-07-11T12:55:51.202Z [err] npm ERR!     /home/pi/.npm/_logs/2020-07-11T12_55_51_052Z-debug.log
2020-07-11T12:55:51.228Z rc=254

I have never installed and do not now have a node named node-red-contrib-example-lower-case . There is almost no mention oif this node on the internet or github. This problem is affecting any node upgrade I attempt.

Any suggestions?

Thanks
st

Does that node appear in your package.json? If not then also look in package-lock.json.
If it does appear in package.json then delete that entry (watch the commas) and try again.

You can simply delete that file.

That keeps information about which versions of nodes are currently installed. So unless you have a requirement to keep a particular version of something installed then yes. I think it most unlikely that this file is involved in this problem though. I just wanted the op to check there if the node is not referenced in package.lock.

I've had lots of issues with it so I regularly delete it. npm rebuilds it as needed anyway. I think that it is more to do with being able to replicate your installation with a fixed set of package versions. Something that is less likely to be required with Node-RED installations.

Thanks Colin,
I did find it in both files (no idea why), deleted in both, then stop-start NR. But the same ERR is still showing about that node when I try to upgrade (which still fails). Is there somewhere else I could check?

Make sure it has not come back to package.json, delete the lock file, then from your .node-red folder run
npm install
and post the result here if there are any errors.

Yes, that is what it is for, it records the current versions of everything installed.

Followed your recommendation, here are the results.

Do a change directory (cd .node-red) to the .node-red directory then
npm remove node-red-contrib-example-lower-case

(Check the spelling I’m doing this from my phone)

Tried that zenofmud, no joy, however, I did a search for anything related to "lower" and found in the node_modules directory (at the very bottom of the quite long directory listing) a broken link named node-red-contrib-example-lower-case. I deleted that link and all is working properly now.

Thanks to each of you for your help, you gave me ideas that kept me trying things to correct this. I'd given up a couple of times before. I now have the latest Dashboard (thanks dceejay).

Ah, so it was a link to a non-existent folder. I guess at some point someone using the machine followed the Create you first node example and when finished, instead of uninstalling the node just deleted the folder. npm maybe looks in there even when uninstalling it, and fails because the link is broken. That is worth remembering for the future.
In case you didn't realise, this was nothing to do with the dashboard, any npm action would have failed similarly. Presumably this is the first time you have used npm since the folder went AWOL.

A few small fixes in

2.23.1: Maintenance Release

Fixes

  • Fix date picker to return midnight on picked day. PR #600
  • Add some validation to dropdown widget values to flag duplicates.
  • Fix dropdown to only return valid options if options changed dynamically.
  • Fix group spacings to align better.
  • Fix wave gauge to also allow using random msg properties. Issue #607

2.23.2: Maintenance Release

Fixes

  • Fix dropdown to correct return values not labels
4 Likes

One regression plus a couple of nice finds by the community. Thanks

2.23.3: Maintenance Release

Fixes

  • Fix regression in dropdown returning 0 value. Issue #614
  • Fix ui_textinput-CR to allow any step so floats validate ok. Issue #609
  • Ensure voice option picks a unique selector. Issue #613
  • Update libraries to fix missing weather/moon icons
2 Likes

2.23.4: Maintenance Release

Fixes

  • Truncate input data array if larger than number of points required. Issue #617
  • Fix dropdown regression to handle objects
  • PR to report correct IP address when using Nginx or proxy. PR #620
3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.