Thank you for the incredibly detailed report! We appreciate the thorough breakdown of the Web Display behavior across your different devices and environments.
To properly investigate this issue, we need to correlate the behavior you are seeing with your Roon Server diagnostic logs. Could you please provide the following details?
A specific timestamp: Please reproduce the issue (activate the Web Display where it fails to render or gets stuck in the reconnection loop) and provide the exact date, time, and your local timezone when this occurred.
Error context: Where exactly are you seeing the Uncaught TypeError: Cannot read properties of undefined (reading 'cb') at display_ui.js?
If this is from the browser’s Developer Tools console, could you share a full text of the console output?
If you found this in the Windows Event Viewer, please share the exported Event Viewer log or a complete screenshot of the event details.
Once we have a specific timestamp to focus our search, we can dive into the logs and see what is happening under the hood.
I have reproduced the issue again with the following details.
Timestamp:
2026-03-20 14:12:25 CET
Steps:
Opened Web Display in Chrome → switched zone → display entered reconnect loop.
Browser console output:
14:12:14 subscribe_displays request
14:12:14 New artist image keys are identical to old ones. Letting previous slideshow continue
14:12:14 refreshing art
14:12:14 update_settings request
14:12:14 display zone settings callback: {"enable_lyrics":false}
14:12:14 blob:[http://192.168.50.199:9330/](http://192.168.50.199:9330/)...
14:12:25 Uncaught TypeError: Cannot read properties of undefined (reading 'cb')
at Moo.handle_response (display_ui.js:26112:44)
at Transport.onmessage (display_ui.js:25872:27)
at WebSocket.<anonymous> (display_ui.js:26754:14)
14:12:25 disconnected from broker. hiding UI, attempting reconnect in 10s
14:12:35 subscribe_displays request (loop repeats)
Notes:
The above sequence repeats continuously, causing the display to reconnect in a loop.
The error is observed in Chrome Developer Tools console.
Thank you for the update. Reinstalling the software is a logical troubleshooting step, but doing so clears out the historical diagnostic logs from your Roon Server. This means the records of the previous Web Display errors are no longer available for us to review.
To get this investigation moving forward and properly track down the rendering block, we need to capture a fresh instance of the behavior with your new installation.
Could you please perform the following steps?
Reproduce the issue: Launch the Web Display on your preferred device and let it reach the grey screen or the reconnection loop.
Note the timestamp: Record the exact date and time (including your local timezone) when the display stops rendering.
Capture the Console Error: Since you previously spotted the Uncaught TypeError: Cannot read properties of undefined (reading 'cb') at display_ui.js in the Chrome Developer Tools, please grab the full text or a screenshot of the new console output during this fresh test.
Once you reply with the new timestamp and the console details, I will immediately pull a fresh diagnostic report from your server to see exactly what is happening during that communication exchange.
Are you able to trigger the Web Display issue easily right now?
Thanks for your effort. I have reproduced the issue again, this time on a machine where the display never renders.
Timestamp:
2026-03-24 15:15:05 CET (UTC+1) — 3:15:05 PM local time
Test:
Started Roon and opened Web Display in Chrome on a Mac (M1). The page loads but remains on a grey screen with the Roon logo and no UI is rendered.
I have attached a screenshot of the Chrome Developer Tools console from this test.
Thank you for the precise timestamp and the excellent screenshot! This is incredibly helpful.
Since this specific test was performed on an M1 Mac, a very common culprit for this exact behavior is macOS’s strict Local Network privacy permissions. Even if the apps are already granted access, the underlying permission state in macOS can sometimes become desynchronized, partially blocking web socket communication (which the Web Display relies on).
Let’s try forcing macOS to refresh these permissions by re-toggling them:
Open System Settings on your Mac.
Navigate to Privacy & Security > Local Network.
Look for both Roon and Google Chrome in the list of applications.
Toggle the switch OFF for both of them, wait a few seconds, and then toggle them back ON.
Completely quit and restart both the Roon app and Google Chrome, and reboot your laptop.
Give the Web Display another try after doing this. Does the UI finally push through and render, or does it remain stuck on the grey logo screen?
Thanks for the suggestion. I tried re-toggling the Local Network permissions for both Roon and Chrome, restarting the apps, and rebooting the machine, but unfortunately it didn’t change the behavior.
For context, the issue isn’t limited to the M1 Mac where I captured the timestamp and screenshot. I’ve been testing across several OS and browser combinations, and also from two different locations/networks.
Current observations:
*The Web Display loads only on one Windows 11 machine using Chrome.
*Even there it only works until I change zone; after switching zone it gets stuck on the grey logo screen.
*On the same Windows 11 machine it does not work in Edge or Firefox (grey screen).
*It also does not work in Chrome on the Windows 11 machine running the Roon Server.
Because of these differences across environments, I’m wondering if the issue might be related to how Web Display handles its connection or state
The reason I’m digging into this is that I’m hoping to use Web Display on an Android tablet as a display for my setup, since my streamer/DAC doesn’t have a built-in screen.
Thank you for your incredible patience and for providing such top-tier troubleshooting.
To get this straight to our QA team so they can try to isolate the bug, we need to capture the exact network traffic and WebSocket frames causing that crash.
Could you please generate a .har (HTTP Archive) file from a couple of the browsers/devices where the display is failing (for example, Chrome on the Mac and Edge on the Windows machine)?
How to generate a .har file in:
Open the Web Display page.
Open Developer Tools (F12, or Right-click > Inspect).
Navigate to the Network tab.
Check the Preserve log box.
Refresh the page and let it hit the grey screen/error.
Right-click anywhere in the list of network requests and select Save all as HAR with content (or click the Export/Download arrow icon).
Please zip up those .har files and upload them to our secure File Uploader.
Would you be able to drop a quick reply here once they are uploaded?
Just confirming that 3 .HAR files have now been uploaded.
My trial period expires tomorrow, so unfortunately I will no longer have access to Roon to reproduce the issue or provide further diagnostics after that .
Hopefully the information already shared, including the .HAR files, may still be useful for troubleshooting.