So you consider your phone vibrating loudly on your desk for every recieved message while you're actively chatting and reading the same message on your desktop a correct implementation?
Well slack doesn't even send me the messages to my desktop continuing to send to my phone (which continues to buzz) despite me writing on the desktop, just because I send a message on my phone 10min ago.
So it might not be that easy (if even slack with their funding can't get it right).
Yes, I don't want any clever tricks from my chat clients. I dislike this kind of under-the-hood magic. Client should just receive the message and send a notification if it's not silenced.