From TIDAL’s perspective–you added release X to your library, and release X is no longer licensed to you, therefore it is gone. In their world, this is working as designed. They do not make the licensing decisions, and our investigations have concluded that everything is working how it was designed to work on their end and on ours–I don’t think anyone here has the power to make the labels stop changing licenses over time.
I agree that the resulting behavior isn’t ideal, but there is a big difference between “working as designed but not ideal” and a legitimate bug/defect that demands immediate resolution. The root cause is licensing changes–something outside of everyone’s control. If there is a defect to fix, that it is–and there’s really no-one at Roon or TIDAL who can change how that world works.
A solution that we could employ in Roon is to re-think the definition of what it means for content to be in your library. A new approach where we track logical ownership of content instead of physical ownership. Right now Roon tracks media–files on your hard drive, or specific tracks in TIDAL’s library. To solve this properly, we would have to instead track logical items–something like the ISRC identifiers or release identifiers. Then when you go to play something, or when we go to determine if it is visible, we would look for any route to the content instead of the specific content that you chose to add explicitly.
This is, to be clear, a total restructuring of Roon’s library management. I think it is a worthwhile direction…and we’ve been thinking about this direction for years as part of the mobile/on-the-go project–since that project demands a more flexible approach to content routing. For example, if I own release X of Kind Of Blue, the best way to access it might be different at home (high-res FLAC) or in the car in a low-bandwidth situation (same release, streamed from TIDAL in AAC). It doesn’t take too big a leap to see how if TIDAL had multiple equivalent releases of Kind Of Blue the same kind of routing infrastructure could facilitate transparent replacement as streaming licenses change.
I’m fairly confident that we will obsolete this problem when that version of Roon is ready. I don’t think we are doing anything about this between now and then. If you’d like to complain to TIDAL, feel free, but I doubt that they will see this as urgent or even as their responsibility, since the root cause is upstream of them too, and because this is how TIDAL, Roon, and Roon+TIDAL have worked since the very beginning.