Being devil's advocate back (!), the server should present the library as you've told it to, in a consistent way, to every client.
I think we both disagree with this. You seem to be saying the server should determine how a client sees the library. The way
I tell the server how I want to see the library is with a client, and each client may want to see it differently from one another. The server should only present the library (collection of media) as it exists. File X is here, it's of this type, it's this long, etc. The client should take that very basic, factual data, and display it any way I choose.
The point of having clients is to let them see things the way they want to see them. I don't think the server should mandate any view of anything, the client should always do that. I think you say the same thing here...
It's you that manipulates the view, it's you that decides how you want your media library organised. Neither client nor server should present the library in a different way from what you've told it.
And this 'manipulation' is/should only be done with a client. Each should be able to have their own view/manipulation. If you set any view on the server, then everyone is forced to use this selection. If you leave it to the client, they all get their own way.
The client should not change it in any way, you're right, so it's not right that some clients skip single items and others don't. It shouldn't be up to the client. You should be able to decide when it does it and when it doesn't, and that would be done by your own configuration of the views.
I'm not sure what you mean by 'I'm right', since I don't think this is what I said. I think the client
should change it in every way. I think the server should not change it (or mandate it) in any way. ONLY the client should. If client A wants to skip single views, but client B doesn't, they each need to make this determination separately. If this were handled/decided by the server, then one client won't get what they want, since there will only be one choice, to skip or not.
This is/should
only be done/decided by the client. I decide when it does and doesn't by my settings in the client. If I set this in the server, then all clients have this forced upon them, which isn't what I (or you?) want.
As for making the choice to skip single views forced upon us, I already said it could/should be optional, per the example you've provided with albums.
I would opt to skip the single view, but your desire to see the single item here is certainly valid, so making this optional is the best choice. It also highlights what I'm saying above. Each client might want it handled differently, and if this was set on the server, one of us would be disappointed, if we were both using the same library/server.
I hope that makes more sense.