Refresh not working with coryo123's DumbPrefs

plugin-dev

#1

I've got a preferences panel in my channel that lets the user change a sort order. Since apparently Plex for Roku does not support the PrefsObject, I have resorted to @coryo123 's "DumbPrefs" object. (See: forums.plex.tv/discussion/194503/dumbkeyboard-dumbprefs-my-workaround-for-clients-lacking-inputdirectoryobjects-and-prefsobjects

As an input method, it works great. However, once I have selected my option, I get directed to a blank page that says "No items to display: This listing appears to be empty" rather than refreshing my data. I'm not exactly sure what's happening, but I think it may not be redirecting back to my main route page, and trying to display some nonexistant path? Here is what I think is the relevant portion of the logs:

2018-01-01 19:52:07,365 (93cc) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.system/messaging/function/X1N0b3JlU2VydmljZTpJc0NoYW5uZWxCcm9rZW4_/Y2VyZWFsMQoxCmxpc3QKMApyMAo_/Y2VyZWFsMQoxCmRpY3QKMQpzMjkKY29tLnBsZXhhcHAucGx1Z2lucy50dm1vbml0b3JzMTAKaWRlbnRpZmllcnIwCg__'
2018-01-01 19:52:07,375 (93cc) :  DEBUG (runtime:88) - Sending packed state data (690 bytes)
2018-01-01 19:52:07,375 (93cc) :  DEBUG (runtime:924) - Response: [200] MediaContainer, 2514 bytes
2018-01-01 19:52:09,165 (7938) :  DEBUG (runtime:717) - Handling request GET /video/tvmonitor/dumbprefs/list
2018-01-01 19:52:09,167 (7938) :  DEBUG (runtime:814) - Found route matching /video/tvmonitor/dumbprefs/list
2018-01-01 19:52:09,170 (7938) :  DEBUG (runtime:88) - Sending packed state data (110 bytes)
2018-01-01 19:52:09,170 (7938) :  DEBUG (runtime:924) - Response: [200] MediaContainer, 397 bytes
2018-01-01 19:52:10,309 (763c) :  DEBUG (runtime:717) - Handling request GET /video/tvmonitor/dumbprefs/listenum?id=sort_order
2018-01-01 19:52:10,311 (763c) :  DEBUG (runtime:814) - Found route matching /video/tvmonitor/dumbprefs/listenum
2018-01-01 19:52:10,312 (763c) :  DEBUG (runtime:88) - Sending packed state data (110 bytes)
2018-01-01 19:52:10,312 (763c) :  DEBUG (runtime:924) - Response: [200] MediaContainer, 576 bytes
2018-01-01 19:52:12,674 (914c) :  DEBUG (runtime:717) - Handling request GET /video/tvmonitor/dumbprefs/set?value=2&key=sort_order
2018-01-01 19:52:12,674 (914c) :  DEBUG (runtime:814) - Found route matching /video/tvmonitor/dumbprefs/set
2018-01-01 19:52:12,676 (914c) :  DEBUG (networking:166) - Requesting 'http://127.0.0.1:32400/:/plugins/com.plexapp.plugins.tvmonitor/prefs/set?sort_order=2'
2018-01-01 19:52:12,688 (9234) :  DEBUG (runtime:717) - Handling request GET /:/plugins/com.plexapp.plugins.tvmonitor/prefs/set?sort_order=2
2018-01-01 19:52:12,690 (9234) :  DEBUG (runtime:814) - Found route matching /:/plugins/com.plexapp.plugins.tvmonitor/prefs/set
2018-01-01 19:52:12,693 (9234) :  DEBUG (preferences:198) - Saved the user preferences
2018-01-01 19:52:12,693 (9234) :  CRITICAL (sandbox:298) - Function named 'ValidatePrefs' couldn't be found in the current environment
2018-01-01 19:52:12,694 (9234) :  DEBUG (runtime:88) - Sending packed state data (110 bytes)
2018-01-01 19:52:12,694 (9234) :  DEBUG (runtime:924) - Response: [200] str, 0 bytes
2018-01-01 19:52:12,697 (914c) :  DEBUG (runtime:88) - Sending packed state data (698 bytes)
2018-01-01 19:52:12,697 (914c) :  DEBUG (runtime:924) - Response: [200] MediaContainer, 255 bytes

I don't think the missing "ValidatePrefs" is an issue; the project that is shown as a demo project for the library doesn't have one either, and since it is just selecting an enumeration, you can't get bad values in... I'm thinking that maybe I need to force it to return to the route "/video/tvmonitor" rather than "/video/tvmonitor/dumbprefs/set"... But not sure how to force that, or if that is actually the issue.