๐ŸŒ UIBUILDER Dev progress - v7.7 (or 8.0) - adding minimal telemetry

With v7.6 now stabilised and bug-squashed. It was time to crack on with the next release.

If Node-RED 5 comes out fairly soon, the next release of UIBUILDER would be v8.0 since it will up the node.js baseline the same as Node-RED which is a potentially breaking change. No other breaking changes are planned at this time. Otherwise, it will be v7.7.

Planned changes at the moment are as follows. However, as always, if you have something you really would like to see, please let me know.

  • A new <json-viewer> built-in web component is included. This gives a nice, collapsible, searchable and possibly even editable JavaScript Object and JSON viewer that can handle things that JSON.stringify cannot. Preview below.

    The module that defines this can also be called from node.js (and therefore from function nodes as well) to render the HTML in Node-RED. Haven't quite worked out the best way to surface that but it is tested.

  • uib-sidebar - gets its data inputs fixed and now allows multiple sidebar nodes.

    Combine this with the JSON viewer and get a very nice, dynamic view of data in the sidebar that should easily handle MUCH larger datasets than the debug sidebar.

  • There is a new, much easier way to override the Content Security Policy header using a property in Node-RED's settings.js file.

  • Markweb gets both Mermaid diagram and Footnote support in the Markdown source.

  • Markweb also gets a fix for the optional status block in the page template.

Of course, knowing me, there will be lots more - but who knows, maybe this time I really will do a smaller release! :smiley:


(The icon on the ROW1.COL1 entry doesn't show its tooltip here but it is a button to copy the value. Clicking the property name copies that name. The search bar is only shown if you click the search icon. The other 2 icons open/close all the details.)

One of the things that sometimes holds back the development of uibuilder is knowing what environments people are using with it.

For example, right now, most front-end code (HTML, CSS and JavaScript) - with the exception of Markweb - targets browsers from early 2019 which should encompass pretty much every possible still active mainstream client device. However, a lot could be simplified or improved if I knew only browsers from mid 2023 were in use (just an example).

So because of this, my plan for (probably) the next release is to include some simple telemetry into uibuilder.

Please note: This will NEVER include any identifiable data.

The telemetry will be on by default but will be under your control. You will be able to turn it off using a setting in settings.js.

It will record things like what browser family and version has been used along with the versions of uibuilder, node-red and node.js.

Here is a possible example of what the stats would look like (this is just random local test data).

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
  uibuilder Telemetry  โ€”  last 30 days
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

SUMMARY
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index)               โ”‚ Values โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Active instances      โ”‚ 18     โ”‚
โ”‚ Total uibuilder nodes โ”‚ 24     โ”‚
โ”‚ Total Markweb nodes   โ”‚ 12     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

uibuilder VERSIONS
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚ version โ”‚ instances โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0       โ”‚ '7.7.0' โ”‚ 8         โ”‚
โ”‚ 1       โ”‚ '7.6.0' โ”‚ 2         โ”‚
โ”‚ 2       โ”‚ '7.5.0' โ”‚ 2         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

BROWSER USAGE
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚ browser     โ”‚ version   โ”‚ connections โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0       โ”‚ 'Chrome'    โ”‚ '123.0.0' โ”‚ 30          โ”‚
โ”‚ 1       โ”‚ 'Chrome'    โ”‚ '124.0.0' โ”‚ 22          โ”‚
โ”‚ 2       โ”‚ 'Safari'    โ”‚ '17.4'    โ”‚ 10          โ”‚
โ”‚ 3       โ”‚ 'Firefox'   โ”‚ '124.0'   โ”‚ 8           โ”‚
โ”‚ 4       โ”‚ 'Firefox'   โ”‚ '125.0'   โ”‚ 4           โ”‚
โ”‚ 25      โ”‚ 'Edge'      โ”‚ '124.0.0' โ”‚ 2           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

OS PLATFORMS
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚ platform โ”‚ instances โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0       โ”‚ 'linux'  โ”‚ 6         โ”‚
โ”‚ 1       โ”‚ 'win32'  โ”‚ 2         โ”‚
โ”‚ 2       โ”‚ 'darwin' โ”‚ 2         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

The plan is to output the telemetry from a node-red instance no more than once a month. It will go to a Cloudflare worker instance.

There will be a new EU compliant privacy policy added to the uibuilder package that details what is captured and how to turn it off.

I think this is a useful addition to uibuilder without being intrusive. If you believe otherwise, you are always free to let me know. :smiley:

The Telemetry is not a problem for me if it is anonymous. At the end of the day, most people will be using a newer Browser, but it is always handy to know...