OK... this is a bit odder... now it is working... but all I did was update the flow I provided before. I resized the text box grid.. and now the multiline is working? The original example the ui-text box was 5x5. More than I needed for the text lines.'
I happen to resize node grid to 4x5 (should have been 5x5)... only because I was creating a new flow to illustrate, not just cutting it out of my original flow. And the new created flow is working.
Oh and as I noted before the ring buffer is not irrelevant to the seemly odd behavior of the ui-text object. In my original flow I have resized the ui-text box many times as I have updated the UI page. And the ui-text box consistently would only show 2 or 3 lines no matter what the size on the dashboard page, or dashboard page editor. But now... not only the correct size but the correct behavior is working. You can see above the proof that the ui-text node was not working as expected. But now it is, see below.
Correct expected behavior now (using ring buffer)...
Without ring buffer...
The ring buffer provides for a scrolling effect to mimic a typical updating log, without have to maintain an array or such and move or shift the array contents.
For reference the flow with and without the ring buffer use...
[{"id":"3d486c3056ca38c5","type":"tab","label":"Flow 3","disabled":false,"info":"","env":[]},{"id":"e74bcbe5790124db","type":"ui-text","z":"3d486c3056ca38c5","group":"aedfbbe36dd08916","order":4,"width":4,"height":"5","name":"Log","label":"Log","format":"{{msg.payload}}","layout":"row-left","style":false,"font":"","fontSize":16,"color":"#717171","wrapText":true,"className":"","value":"log","valueType":"msg","x":870,"y":440,"wires":[]},{"id":"281da8da2575d2c0","type":"inject","z":"3d486c3056ca38c5","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":440,"y":400,"wires":[["628054566c6b18e1"]]},{"id":"628054566c6b18e1","type":"ring-buffer","z":"3d486c3056ca38c5","name":"","capacity":16,"order":"old-to-new","sendOnlyIfFull":false,"pushAfterClear":false,"extra":false,"perTopic":false,"x":580,"y":400,"wires":[["5753100c90a64c26"]]},{"id":"5753100c90a64c26","type":"function","z":"3d486c3056ca38c5","name":"Format","func":"msg.log = msg.payload.join('<br>')\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":740,"y":440,"wires":[["e74bcbe5790124db"]]},{"id":"62eacb6b5beab28e","type":"inject","z":"3d486c3056ca38c5","name":"Test","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"['Test','Test','Test','Test','Test','Test','Test']","payloadType":"jsonata","x":590,"y":480,"wires":[["5753100c90a64c26"]]},{"id":"aedfbbe36dd08916","type":"ui-group","name":"Example","page":"a129af50497c821b","width":6,"height":1,"order":1,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"a129af50497c821b","type":"ui-page","name":"Dachshund Digital","ui":"b9d115efa0ea05a2","path":"/Casitas","icon":"home","layout":"grid","theme":"eae0f4a4353a3ec9","breakpoints":[{"name":"Default","px":"0","cols":"3"},{"name":"Tablet","px":"576","cols":"6"},{"name":"Small Desktop","px":"768","cols":"9"},{"name":"Desktop","px":"1024","cols":"12"}],"order":2,"className":"","visible":true,"disabled":false},{"id":"b9d115efa0ea05a2","type":"ui-base","name":"Dashboard","path":"/dashboard","appIcon":"","includeClientData":true,"acceptsClientConfig":["ui-notification","ui-control"],"showPathInSidebar":false,"headerContent":"page","navigationStyle":"default","titleBarStyle":"default","showReconnectNotification":true,"notificationDisplayTime":1,"showDisconnectNotification":true,"allowInstall":false},{"id":"eae0f4a4353a3ec9","type":"ui-theme","name":"Dark","colors":{"surface":"#008080","primary":"#008080","bgPage":"#000000","groupBg":"#000000","groupOutline":"#cccccc"},"sizes":{"density":"default","pagePadding":"12px","groupGap":"12px","groupBorderRadius":"4px","widgetGap":"12px"}},{"id":"81570c28d7179432","type":"global-config","env":[],"modules":{"@flowfuse/node-red-dashboard":"1.29.0","node-red-contrib-ring-buffer":"0.10.0"}}]
Maybe the actual frame size of the ui-text node was being displayed one way, but interpreted during flow execution another way?