mobile: Buttons and controls now give visual press feedback on tap throughout the app. Previously feedback was hover-only and never fired on touch. Async actions like alarm acknowledge, save, and delete now show an in-progress spinner instead of no feedback at all.
rule chain editor: The mobile toolbar now shows the loaded chain's name (tap to switch chains) and adds a quick New button; desktop is unchanged.
ui: Refreshed visual consistency (spacing, color, and controls) across the desktop shell and most built-in apps: a cleaner, more consistent look with no functional changes.
Bug Fixes
rule chain editor: Historian-backed nodes (Read History, PID, Kalman) were querying with the wrong time unit and silently matched zero records, degrading PID control to proportional-only. Fixed.
rule chain editor: Fixed a broad set of editor issues: a called sub-chain not receiving its input, undo/redo resurrecting deleted nodes or losing node moves, auto-save occasionally overwriting a chain with an empty graph, entity pickers not populating, switch-case rewiring picking the wrong wire, and several load/save race conditions and UI guards.
rule chain editor: Fixed generated automation code breaking (or being unsafe) when a chain used certain characters, like quotes, in user-entered text.
calendar: Fixed a date/time field validation issue.
ui: Fixed several icon tiles rendering with low-contrast, hard-to-read icons under certain themes.
script engine: Fixed a case where a trigger (for example, an NFC tag scan) could sit unprocessed longer than expected on an otherwise quiet node.
Performance
nfc tags: Tapping an NFC tag now loads and records the scan significantly faster: the tag-scan page no longer downloads the full app bundle or waits on the full platform startup sequence before completing.