- Alinha text do optimistic message com o retorno do backend (filename ou [mediaType]) para evitar duplicação ao enviar mídia sem legenda
- Adiciona mediaFilename ao normalizeMessage (Socket.IO e REST API)
- MediaRenderer usa mediaFilename e message.text como fallback para nome do arquivo