Also, doing it client side means you have to duplicate the work for every client.
Only if you want to force everyone to adopt this behavior. There are tons of people here that are telling you that this is a non-issue to them, why do you think that all clients need that?
One is not inherently better than the other.
When it comes to decentralized technologies and systems, it absolutely is better to delegate behavior to the leaf nodes as much as possible. The less things are mandated on the server, the easier it is to build a robust system. Pushing as much functionality as possible to the client is such a good way to follow Postel's Law that is basically second nature to those developing distributed systems.