I mean, at the end of the day I'm not sure that this *can* be fixed.
In order for the client to view the message, the server has to send the message to the client. What the client does with the message after that is now out of the sever's control. All the server can do is just not send the message a second time - it can't force the client to forget it.