Bug de avatar do provedor Multisite DiscourseConnect

Problema
O Provedor DiscourseConnect retorna uma URL incorreta para user_avatar no payload em um ambiente multissite.

Quando o DiscourseConnect atua como provedor, ele retorna o avatar_url em um formato que está faltando ‘uploads’ e o nome do host multissite.

Por exemplo

Esperado: https://cdn.cdnprovider.com/uploads/dbname/original/1X/1e653a3bc23b6b07017f5635128da0b353489e60.jpg'
Realidade:  https://cdn.cdnprovider.com/original/1X/1e653a3bc23b6b07017f5635128da0b353489e60.jpg`

O código está aqui e está reconstruindo a URL a partir do upload

      if current_user.uploaded_avatar.present?
        base_url =
          Discourse.store.external? ? "#{Discourse.store.absolute_base_url}/" : Discourse.base_url
        avatar_url =
          "#{base_url}#{Discourse.store.get_path_for_upload(current_user.uploaded_avatar)}"
        sso.avatar_url = UrlHelper.absolute Discourse.store.cdn_url(avatar_url)
      end

enquanto user.uploaded_avatar.url parece dar o resultado correto.

3 curtidas

Obrigado, vou dar uma olhada :eyes:

3 curtidas

Será corrigido por

4 curtidas

Este tópico foi fechado automaticamente após 2 dias. Novas respostas não são mais permitidas.