How to manage an avatar like WhatsApp

I am creating a chat app similar to WhatsApp.

I am now trying to implement avatar management: In case any users change their avatar, other users should be informed about these changes.

I have two ways to do this:

  1. Send the event like a chat message through socket-io or fcm. If user is not online, save it to a MySQL database.
  2. Don't send events, and if the user is not online just drop it. When users come online, they will sync all their contacts, and they compare timestamps whether any user changed his/her avatar...

Which is better? Or is there any other better approach?

And how does WhatsApp handle this?