Timeout issues on Roon's discovery APIs with Qobuz in Chile (ref#DCXN6O)

What app are you having the slowness issue with?

· Roon

What kind of performance/speed issue are you experiencing?

· Other

Please try to reboot your Roon Server

· No, the issue is still the same even immediately after a reboot

Please try to reboot your networking gear (Router/Switches/etc.)

· No, the issue is still the same even after a reboot

Is there any change in behavior if you try to navigate to Roon Settings -> Library and set both Background and On-Demand Audio Analysis to Throttled or Off?

· No, the issue is still the same

Does the issue happen on multiple Roon Remotes (controllers) or just one?

· Issue happens on multiple remotes

Router Domain Name System (DNS) change

· I was able to change my router's DNS servers but it did not help

What is the operating system of your Roon Server host machine?

· Linux Server (Ubuntu, Fedora, ArchLinux...)

Timestamp of issue occurrences

· log shared in description with timestamps

Describe the issue

I use Qobuz exclusively as my streaming service (Tidal disconnected over a year ago). Personalized recommendations do not appear in the Home screen: Daily Mixes, Recommended Albums, recommended performers, featured/coveredperformer/collaboration, etc.

In Roon Server logs (easy installer on Debian), all queries to api.roonlabs.net/discover/1/profiles/... (mixes, newv3 albums, recommended performers, genres, featured/coveredperformer/collaboration) time out exactly after 60 seconds (60001-60003 ms). Examples attached.

Direct streaming from Qobuz works perfectly (smooth playback), as does local library and RAAT endpoints. The issue is isolated to discovery/Valence recommendations with Qobuz enabled.

I have two different ISPs in Chile: Movistar fiber and Starlink. The exact same behavior (60 s timeouts on discover APIs) occurs on both connections.

Tests performed:

DNS changed to Google (8.8.8.8) and Cloudflare (1.1.1.1) → no change.
MTU on eth0 set to 1452 (ping -M do -s 1424 api.roonlabs.net succeeds without fragmentation; direct traceroute: 9 hops, final latency ~7 ms, clean path).
VPN enabled on UniFi router (routed via Miami, latency ~120-130 ms) → worse timeouts (including devicedb/images and ev_product_changed), immediately disabled.
Qobuz disconnected → discover/profiles APIs are not called → no timeouts, but no mixes/recommendations appear (expected, as Valence requires an active streaming service).
tidal=max parameter persists in queries despite Tidal not being configured (contentPreferences=preferQobuz,preferMqa&tidal=max). Possible legacy Valence profile cache.

Background: About a year ago I opened a ticket for Qobuz slowness (similar issue, but now it's complete timeout on discovery). Old ticket closed as "being tracked internally": https://community.roonlabs.com/t/roon-ui-slowdown-with-qobuz-integration-enabled-ref-q5ipa9/302588

System:

Roon Server on Debian (logs in /var/roon/RoonServer/Logs).
Fiber ISP: Movistar Chile + Starlink (same issue on both).
UniFi router.



Could this be related to regional connectivity from Chile, or perhaps some cached Valence/profile settings? Thanks for any insight. Please your help!!

02/14 16:22:09 [Local 02/14 13:22:09] Debug: [easyhttp] [1528] GET to https://api.roonlabs.net/discover/1/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/albums/newv3?c=qobuz-cl&contentPreferences=preferQobuz,preferMqa&textSources=Rovi-albums:en,Wikipedia:en,Rovi-artists:en,Rovi-compositions:en&tidal=max timed out after 60001 ms
02/14 16:22:09 [Local 02/14 13:22:09] Debug: [easyhttp] [1529] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T13%3a21%3a09.5720800&c=qobuz-cl&languages=en,%3Een&tidal=max timed out after 60001 ms
02/14 16:22:09 [Local 02/14 13:22:09] Debug: [easyhttp] [1533] GET to https://api.roonlabs.net/discover/1/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/performers/recommended?profile=828b05c2-a215-4a58-ad79-0373df041c1e&c=qobuz-cl&languages=en,%3Een&tidal=max timed out after 60001 ms
02/14 16:22:09 [Local 02/14 13:22:09] Debug: [easyhttp] [1534] GET to https://api.roonlabs.net/discover/1/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/featured/coveredperformer?c=qobuz-cl&contentPreferences=preferQobuz,preferMqa&tidal=max timed out after 60001 ms
02/14 16:22:09 [Local 02/14 13:22:09] Debug: [easyhttp] [1535] GET to https://api.roonlabs.net/discover/1/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/featured/collaboration?c=qobuz-cl&contentPreferences=preferQobuz,preferMqa&tidal=max timed out after 60001 ms

Describe your network setup

Dual ISP -> Movistar(Fiber) + Starlink(satellite) -> Unifi Gateway -> Unifi Switch -> Roon Server // Everything cabled 2.5G // No packet loss/DNS/latency problems

Please see the site banner and this post.

Thanks mjw.

Any news about the previous referenced problem? You guys closed my previous ticket past year as it was being worked internally, but the problem persists. Thanks.

The thread closed automatically after the last reply, which was from Roon support.

If you still have issues, please start a new ticket by visiting this link: Get Help.

Hi @Felipe_Williams,

Thank you for the incredibly detailed report and network diagnostics
The specific 60-second timeouts you observed on the /discover endpoints coincide perfectly with a period of significant cloud infrastructure instability we experienced on February 14th. This affected many users globally, causing recommendation and home screen failures similar to what you logged.
Status: This immediate instability should be resolved. Could you please check if the “hard” timeouts are still persisting right now?

Regarding your previous ticket and the general performance of Qobuz in your region: You are correct that this is still being tracked internally.
I verified the status with our R&D team, and they confirmed that the solution for these specific high-latency scenarios requires a fairly deep architectural refactor of how we handle discovery caching and delivery in certain regions. Because of the complexity involved, we do not have a specific timeline for deployment yet, but it remains an active item on the engineering roadmap.

For now, please let us know if the acute failure (complete timeout) has subsided since the weekend.

Hi Support Team,
After the Roon Cloud issue, my mixes came back for a short while. However, a few days later, they disappeared again. The “New releases for you” section is working without any problems.
As you can see in the logs, I’m still getting some 60,000 ms timeouts like before, but now I’m also seeing error 500 messages. That’s new for me… I hadn’t seen those before.
I’d appreciate your help with this.
Best regards,
Felipe

cat RoonServer_log.* | grep mixes

02/14 19:56:09 [Local 02/14 16:56:09] Debug: [easyhttp] [1377] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T16%3A55%3A05.0209950&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 19:56:27 [Local 02/14 16:56:27] Debug: [easyhttp] [1412] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T16%3A55%3A27.2126620&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 20:04:17 [Local 02/14 17:04:17] Debug: [easyhttp] [1509] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T17%3A03%3A17.1234690&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 20:04:31 [Local 02/14 17:04:31] Debug: [easyhttp] [1523] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T17%3A03%3A31.8542790&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/15 04:06:31 [Local 02/15 01:06:31] Debug: [mixes] background fetching (first) for 02/15/2026 05:00:01
02/15 04:06:49 [Local 02/15 01:06:49] Debug: [easyhttp] [1946] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-15T05%3A00%3A01.0000000&c=qobuz-cl&tidal=max returned after 18234 ms, status code: 500
02/15 11:40:47 [Local 02/15 08:40:47] Debug: [easyhttp] [2322] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-15T08%3A40%3A42.4417580&c=qobuz-cl&languages=en,>en&tidal=max returned after 4886 ms, status code: 500
02/15 11:40:47 [Local 02/15 08:40:47] Debug: [easyhttp] [2313] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-15T08%3A40%3A42.4412250&c=qobuz-cl&languages=en,>en&tidal=max returned after 5430 ms, status code: 200, request body size: 0 B
02/15 11:40:48 [Local 02/15 08:40:48] Debug: [easyhttp] [2304] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-15T08%3A40%3A42.4148030&c=qobuz-cl&languages=en,>en&tidal=max returned after 6066 ms, status code: 500
02/14 15:48:10 [Local 02/14 12:48:10] Debug: [mixes] starting background fetch, now=02/14/2026 12:48:10 nextget=02/15/2026 01:54:37 nextlocaltime=02/15/2026 05:00:01
02/14 15:49:10 [Local 02/14 12:49:10] Debug: [easyhttp] [1408] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T12%3A48%3A10.1273990&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 15:49:54 [Local 02/14 12:49:54] Debug: [easyhttp] [1421] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T12%3A48%3A54.1840060&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 16:05:49 [Local 02/14 13:05:49] Debug: [easyhttp] [1462] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T13%3A04%3A49.0209990&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 16:11:53 [Local 02/14 13:11:53] Debug: [easyhttp] [1478] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T13%3A10%3A53.6538890&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 16:13:05 [Local 02/14 13:13:05] Debug: [easyhttp] [1492] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T13%3A12%3A05.6893000&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 16:13:05 [Local 02/14 13:13:05] Debug: [easyhttp] [1501] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T13%3A12%3A05.7128890&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 16:13:06 [Local 02/14 13:13:06] Debug: [easyhttp] [1510] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T13%3A12%3A05.7146640&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 16:22:09 [Local 02/14 13:22:09] Debug: [easyhttp] [1529] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T13%3A21%3A09.5720800&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 18:25:39 [Local 02/14 15:25:39] Debug: [easyhttp] [1651] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T15%3A24%3A39.3706140&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 18:25:39 [Local 02/14 15:25:39] Debug: [easyhttp] [1660] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T15%3A24%3A39.3960040&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 18:25:39 [Local 02/14 15:25:39] Debug: [easyhttp] [1669] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T15%3A24%3A39.3989350&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 15:15:27 [Local 02/14 12:15:27] Debug: [mixes] starting background fetch, now=02/14/2026 12:15:25 nextget=02/15/2026 04:30:07 nextlocaltime=02/15/2026 05:00:01
02/14 15:16:27 [Local 02/14 12:16:27] Debug: [easyhttp] [1383] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T12%3A15%3A25.9750140&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 15:16:29 [Local 02/14 12:16:29] Debug: [easyhttp] [1402] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T12%3A15%3A29.6491290&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60003 ms
02/14 15:09:59 [Local 02/14 12:09:59] Debug: [mixes] starting background fetch, now=02/14/2026 12:09:58 nextget=02/15/2026 03:43:03 nextlocaltime=02/15/2026 05:00:01
02/14 15:10:59 [Local 02/14 12:10:59] Debug: [easyhttp] [1392] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T12%3A09%3A58.8405610&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 15:11:00 [Local 02/14 12:11:00] Debug: [easyhttp] [1414] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T12%3A10%3A00.7329180&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 15:08:52 [Local 02/14 12:08:52] Debug: [easyhttp] [2303] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T12%3A07%3A52.3792540&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 14:31:07 [Local 02/14 11:31:07] Debug: [mixes] starting background fetch, now=02/14/2026 11:31:07 nextget=02/15/2026 02:56:57 nextlocaltime=02/15/2026 05:00:01
02/14 14:32:07 [Local 02/14 11:32:07] Debug: [easyhttp] [1662] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T11%3A31%3A07.0685540&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 14:32:07 [Local 02/14 11:32:07] Debug: [easyhttp] [1671] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T11%3A31%3A07.0861810&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/14 14:32:07 [Local 02/14 11:32:07] Debug: [easyhttp] [1682] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T11%3A31%3A07.0865880&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 14:32:11 [Local 02/14 11:32:11] Debug: [easyhttp] [1702] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T11%3A31%3A11.8249800&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 14:49:11 [Local 02/14 11:49:11] Debug: [easyhttp] [2129] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T11%3A48%3A11.4519650&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60001 ms
02/14 14:53:09 [Local 02/14 11:53:09] Debug: [easyhttp] [2169] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-14T11%3A52%3A09.4736100&c=qobuz-cl&languages=en,>en&tidal=max timed out after 60002 ms
02/13 05:54:16 [Local 02/13 02:54:16] Debug: [mixes] background fetching (subseq) for 02/13/2026 05:00:01
02/13 05:55:16 [Local 02/13 02:55:16] Debug: [easyhttp] [15683] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-13T05%3A00%3A01.0000000&c=qobuz-cl&tidal=max timed out after 60006 ms
02/21 06:09:34 [Local 02/21 03:09:34] Debug: [mixes] background fetching (subseq) for 02/21/2026 05:00:01
02/21 06:09:43 [Local 02/21 03:09:43] Debug: [easyhttp] [13251] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-21T05%3A00%3A01.0000000&c=qobuz-cl&tidal=max returned after 8938 ms, status code: 500
02/21 12:28:43 [Local 02/21 09:28:43] Debug: [easyhttp] [13659] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-21T09%3A28%3A30.1613470&c=qobuz-cl&languages=en,>en&tidal=max returned after 12889 ms, status code: 500
02/21 12:28:43 [Local 02/21 09:28:43] Debug: [easyhttp] [13650] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-21T09%3A28%3A30.1609330&c=qobuz-cl&languages=en,>en&tidal=max returned after 13268 ms, status code: 500
02/21 12:28:53 [Local 02/21 09:28:53] Debug: [easyhttp] [13641] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-21T09%3A28%3A30.1393510&c=qobuz-cl&languages=en,>en&tidal=max returned after 22921 ms, status code: 500
02/21 12:29:49 [Local 02/21 09:29:49] Debug: [easyhttp] [13699] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-21T09%3A29%3A38.4896790&c=qobuz-cl&languages=en,>en&tidal=max returned after 11029 ms, status code: 500
02/21 12:29:49 [Local 02/21 09:29:49] Debug: [easyhttp] [13708] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-21T09%3A29%3A38.4980560&c=qobuz-cl&languages=en,>en&tidal=max returned after 11002 ms, status code: 500
02/21 12:29:53 [Local 02/21 09:29:53] Debug: [easyhttp] [13717] GET to https://api.roonlabs.net/discover/1/mixes/profiles/828b05c2-a215-4a58-ad79-0373df041c1e/mixes?localTime=2026-02-21T09%3A29%3A38.4982670&c=qobuz-cl&languages=en,>en&tidal=max returned after 14883 ms, status code: 500

Hello @Felipe_Williams

CloudFlare is still experiencing issues affecting our services and Qobuz services. Please monitor the page above, and once maintenance is complete, if the issue persists, please report it here.

You can monitor the status of the fix here: Cloudflare System Status

Hi @Felipe_Williams,

Reviewing this case and associated diagnostics, we can confirm you were experiencing unpredictability with Roon’s upstream services due to infrastructural outages and scheduled maintenance with both Roon and Cloudflare’s servers.

These issues should now be resolved for both parties. Please restart Roon Server and let us know if you are still having any issues with discovery services or streaming services,

Thank you!

We’re going to close this thread as the infrastructural issues have been resolved for several days at this time.

If you’re still experiencing any issues with streaming services or discovery, please reach out in a new support request here and we’ll pick up the case.