Roon API - Selected profile isn't set [Report is in]

Hi @support, @ben,

Im running in to an issue with profile selection via the API, i’m hopping you can help.

I’ve implement browse functionality into the TV:Remote extension. When switching between profiles using the browse api, i’m finding the selected profile isn’t being set. I’ve include steps and debug below, I’m hoping this might give a clue as to what’s going on.

I’ve set my core up with two profiles;

  • Test
  • Russell

Using the TV:Remote extension i’m browsing to Roon Library > Settings, followed by the below steps:

Selected Setting

REQUEST com.roonlabs.browse:1/browse {"hierarchy":"browse","zone_or_output_id":"1601e090b8a01844cf56d7fee51c7b2e8e7b","item_key":"1028:5","refresh_list":false,"pop_all":false,"input":"list","multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"action":"list","list":{"level":1,"title":"Settings","subtitle":null,"image_key":null,"count":2,"display_offset":null}} 
REQUEST com.roonlabs.browse:1/load {"hierarchy":"browse","offset":0,"set_display_offset":0,"multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"items":[{"title":"Profile","subtitle":"Russell","image_key":null,"item_key":"1029:0","hint":"list"},{"title":"Display Settings","subtitle":null,"image_key":null,"item_key":"1029:1","hint":"list"}],"offset":0,"list":{"level":1,"title":"Settings","subtitle":null,"image_key":null,"count":2,"display_offset":0}}

Selected Profile

REQUEST com.roonlabs.browse:1/browse {"hierarchy":"browse","zone_or_output_id":"1601e090b8a01844cf56d7fee51c7b2e8e7b","item_key":"1029:0","refresh_list":false,"pop_all":false,"input":"list","multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"action":"list","list":{"level":2,"title":"Profile","subtitle":"","image_key":null,"count":2,"display_offset":null}} 
REQUEST com.roonlabs.browse:1/load {"hierarchy":"browse","offset":0,"set_display_offset":0,"multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"items":[{"title":"Test","subtitle":"","image_key":null,"item_key":"1030:0","hint":"action"},{"title":"Russell","subtitle":"selected","image_key":null,"item_key":"1030:1","hint":"action"}],"offset":0,"list":{"level":2,"title":"Profile","subtitle":"","image_key":null,"count":2,"display_offset":0}}

Selected Test

REQUEST com.roonlabs.browse:1/browse {"hierarchy":"browse","zone_or_output_id":"1601e090b8a01844cf56d7fee51c7b2e8e7b","item_key":"1030:0","refresh_list":false,"pop_all":false,"input":"action","multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"action":"list","list":{"level":1,"title":"Settings","subtitle":null,"image_key":null,"count":2,"display_offset":null}} 
REQUEST com.roonlabs.browse:1/load {"hierarchy":"browse","offset":0,"set_display_offset":0,"multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"items":[{"title":"Profile","subtitle":"Test","image_key":null,"item_key":"1031:0","hint":"list"},{"title":"Display Settings","subtitle":null,"image_key":null,"item_key":"1031:1","hint":"list"}],"offset":0,"list":{"level":1,"title":"Settings","subtitle":null,"image_key":null,"count":2,"display_offset":0}} 

Selected Profile

REQUEST com.roonlabs.browse:1/browse {"hierarchy":"browse","zone_or_output_id":"1601e090b8a01844cf56d7fee51c7b2e8e7b","item_key":"1031:0","refresh_list":false,"pop_all":false,"input":"list","multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"action":"list","list":{"level":2,"title":"Profile","subtitle":"","image_key":null,"count":2,"display_offset":null}} 
MOO/1 REQUEST com.roonlabs.browse:1/load {"hierarchy":"browse","offset":0,"set_display_offset":0,"multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"items":[{"title":"Test","subtitle":"selected","image_key":null,"item_key":"1032:0","hint":"action"},{"title":"Russell","subtitle":"","image_key":null,"item_key":"1032:1","hint":"action"}],"offset":0,"list":{"level":2,"title":"Profile","subtitle":"","image_key":null,"count":2,"display_offset":0}} 

Selected Russell

REQUEST com.roonlabs.browse:1/browse {"hierarchy":"browse","zone_or_output_id":"1601e090b8a01844cf56d7fee51c7b2e8e7b","item_key":"1032:1","refresh_list":false,"pop_all":false,"input":"action","multi_session_key":"192.168.1.65_Broswe"}
COMPLETE - Success - {"action":"list","list":{"level":1,"title":"Settings","subtitle":null,"image_key":null,"count":2,"display_offset":0}} 
REQUEST com.roonlabs.browse:1/load {"hierarchy":"browse","offset":0,"set_display_offset":0,"multi_session_key":"192.168.1.65_Broswe"}

Profile Test is still listed as selected.

COMPLETE - Success - {"items":[{"title":"Profile","subtitle":"Test","image_key":null,"item_key":"1031:0","hint":"list"},{"title":"Display Settings","subtitle":null,"image_key":null,"item_key":"1031:1","hint":"list"}],"offset":0,"list":{"level":1,"title":"Settings","subtitle":null,"image_key":null,"count":2,"display_offset":0}}

@support

I’ve been able to replicate the profle selection issue using the roon-extension-web-testapp GitHub - RoonLabs/roon-extension-web-testapp

To Reporduce

  • Set up a Roon Core with two profiles: Test1, Test2
  • Run the roon-extension-web-testapp
  • From the web-testapp select Settings - Test1 is the selected profle
  • Select Profile Test1
  • Select Test2
  • Select Profile Test2
  • Select Test1
  • Test2 is still shown as the selected profile - Expecting Test1

@support, Russell and I have been investigating this API issue in the TV:Remote Apple TV app. This issue existed in Core v1.7 but with stats front and center in v1.8, it is much more evident. For example I was using TV:Remote for a week and all the activity got tagged to my wife’s profile. This is throwing off the statistics for sure. Is it also affecting the listen experience as different users can have very different musical preferences? Below of screen shots from the TV:Remote app.

I’m using TV:Remote with my Profile (Tarun)

The profile list displays as follows. Not sure how to change the sort. On TV:Remote Julie is always listed first. If the list was supposed to be alphabetical, my daughter, Bella, should be first. If it was based upon the order in which Roon profiles were created, Tarun should be first. I suspect it is Julie because as one point I was switching profiles while doing some testing. This was several months ago.

Here is the queue. I added the first 3 songs via my MBP, 4th song (Heads Gonna Roll) was added by Roon Radio, still tagged to my profile but notice the small radio icon just after my name.

Next I added 2 tracks (I Had a Hat and Until the Next Time) via TV:Remote. See they got tagged as Julie.

Now when Roon Radio continues picking songs they get tagged to Julie’s profile too.