Este bug trata da configuração Ignorar grupos de revisão de mídia.
Ao publicar uma imagem pelo celular, o upload da imagem é concluído com sucesso e o corpo da publicação contém corretamente uma referência de imagem (por exemplo,
).
No entanto, a solicitação POST /posts subsequente contém:
“image_sizes”: {}
A verificação de revisão de mídia no lado do servidor só é executada quando manager.args[:image_sizes].present? é verdadeiro:
if manager.args\[:image_sizes\].present? &&
!user.in_any_groups?(SiteSetting.skip_review_media_groups_map)
return :contains_media
end
Um hash vazio não é considerado presente? em Ruby, portanto, a publicação não é identificada como contendo mídia e não é enviada para revisão. A verificação de skip_review_media_groups nunca é alcançada.
Evidências do HAR:
- POST /uploads foi concluído com sucesso (2xx).
- A carga útil do POST /posts contém Markdown de imagem em raw.
- A mesma carga útil contém “image_sizes”: {}.
- A publicação não foi colocada na fila de revisão.
O compositor da web constrói image_sizes a partir das imagens no DOM de pré-visualização do editor. Isso torna a revisão de mídia dependente dos metadados de pré-visualização fornecidos pelo cliente, que podem estar ausentes em clientes móveis
ou se a imagem de pré-visualização não tiver sido carregada.
Comportamento esperado: Uma publicação que contenha uma imagem enviada/incorporada deve entrar na revisão de mídia, independentemente de o cliente enviar as dimensões da imagem.
Correção sugerida:
-
Detecção de mídia no lado do servidor a partir do conteúdo da publicação — Determine se uma publicação contém mídia inspecionando o conteúdo
rawoucookedda publicação (ou referências de upload) no servidor, em vez de depender exclusivamente do campoimage_sizesfornecido pelo cliente. -
Revisar todos os arquivos de mídia enviados (melhor que a opção 1) — Em vez de revisar apenas os arquivos de mídia que aparecem dentro de uma publicação, revise diretamente todos os arquivos de mídia enviados pelo usuário. Isso elimina a dependência de metadados no nível da publicação e garante que nenhum arquivo de mídia enviado contorne a fila de revisão, independentemente do cliente ou endpoint utilizado.