Avatar Animado

Isso funciona com banners de perfil?

Algo com o script de instalação install.sh quebra a reconstrução do Discourse, veja aqui.

ia instalar este plugin, mas ver este comentário mudou minha opinião kkk

Ainda é o caso. Comente a parte do install.sh, reconstrua. Descomente-a, reconstrua novamente. Isso funciona. Estranho.

A instalação ainda está com problemas?

Não, não para mim.

Você tentou instalar novamente sem ter que comentá-lo?

Eu reconstruo o Discourse com muita frequência.

Não tenho certeza qual era o problema há alguns meses. Talvez isso também estivesse relacionado ao download do GeoIP, que então foi alterado para arquivos locais.

1 curtida

Eu mesmo não tenho certeza de qual foi o problema, honestamente, esse script não tem nada a ver com o erro relatado.

1 curtida

Olá, estou enfrentando um erro fatal com este plugin na versão mais recente do Discourse (v2026.8.0-latest.1).

Quando um usuário tenta definir ou atualizar uma foto de perfil, o frontend retorna um erro genérico 422 (Unprocessable Content) e o Uppy registra um aviso de rede.

Ao verificar os logs do Sidekiq/Rails, descobri que o plugin está fazendo o pipeline do UploadCreator cair porque ele está procurando por uma chave resize_animated que parece estar ausente do hash atual de otimização de imagem.

Aqui está a trilha de retorno (backtrace) de /logs:

Job exception: key not found: "resize_animated"

/var/www/discourse/app/models/optimized_image.rb:336:in 'Hash#fetch'
/var/www/discourse/app/models/optimized_image.rb:336:in 'OptimizedImage.optimize'
/var/www/discourse/plugins/discourse-animated-avatars/lib/discourse_animated_avatars/optimized_image_extension.rb:9:in 'DiscourseAnimatedAvatars::OptimizedImageExtension::ClassMethods#resize_animated'
/var/www/discourse/plugins/discourse-animated-avatars/lib/discourse_animated_avatars/upload_creator_gifsicle_extension.rb:18:in 'DiscourseAnimatedAvatars::UploadCreatorGifsicleExtension#crop!'
/var/www/discourse/lib/upload_creator.rb:115:in 'block in UploadCreator#create_for'

Me avise se precisar de outros logs!

Instalei e testei com imagens GIF e WebP (200 pixels ou menos), então elas não deveriam ser redimensionadas, mas recebo o erro key not found: "resize_animated" em todas as tentativas e não consigo fazer funcionar.

O plugin foi instalado conforme descrito no guia. Segui as diretrizes de post_exec necessárias.

1 curtida

Obrigado pelos relatórios de erro! O bug afeta apenas a v2026.8 e versões posteriores. Acabei de publicar a correção, então você pode simplesmente atualizar agora.

3 curtidas

Obrigado pela correção rápida do erro de chave resize_animated. Essa parte foi resolvida e atualizei para 29784ee (Discourse v2026.9.0-latest). No entanto, agora estou encontrando um novo erro fatal, diferente, no mesmo caminho de código ao definir/atualizar uma foto de perfil.

Acho que o argumento --crop está malformado. O Gifsicle espera --crop x,y+largura+altura (ou x,y-x2,y2), mas aqui só há 0,49+399, com o par x,y mais um único +399, faltando completamente o segundo componente +altura.

app.js:367 ℹ️ Discourse v2026.9.0-latest — https://github.com/discourse/discourse/commits/ed9f07d9f5 — Ember v6.10.1
uppy-upload.js:503  POST https://btt.community/uploads.json?client_id=f57abab8b5c64413a953f6c839424130 422 (Unprocessable Content)
(anonymous) @ fetcher.js:83
await in (anonymous)
_ @ fetcher.js:17
(anonymous) @ fetcher.js:86
(anonymous) @ index.js:81
(anonymous) @ index.js:227
(anonymous) @ TaskQueue.js:45
#i @ TaskQueue.js:92
add @ TaskQueue.js:73
#uploadLocalFile @ index.js:218
(anonymous) @ index.js:316
#uploadFiles @ index.js:297
(anonymous) @ index.js:345
#runUpload @ Uppy.js:1413
await in #runUpload
upload @ Uppy.js:1521
(anonymous) @ Uppy.js:523
setTimeout
#f @ Uppy.js:521
addFiles @ Uppy.js:672
addFiles @ uppy-upload.js:503
_run @ index.js:804
_join @ index.js:783
join @ index.js:605
join @ index.js:152
(anonymous) @ index.js:250
(anonymous) @ uploads.js:411
n @ uploads.js:410
uppy-upload.js:503 [Uppy] [05:34:13] This looks like a network error, the endpoint might be blocked by an internet provider or a firewall.
(anonymous) @ loggers.js:7
log @ Uppy.js:1277
(anonymous) @ Uppy.js:970
r @ index.js:131
(anonymous) @ index.js:33
emit @ Uppy.js:110
(anonymous) @ index.js:134
await in (anonymous)
(anonymous) @ index.js:227
(anonymous) @ TaskQueue.js:45
#i @ TaskQueue.js:92
add @ TaskQueue.js:73
#uploadLocalFile @ index.js:218
(anonymous) @ index.js:316
#uploadFiles @ index.js:297
(anonymous) @ index.js:345
#runUpload @ Uppy.js:1413
await in #runUpload
upload @ Uppy.js:1521
(anonymous) @ Uppy.js:523
setTimeout
#f @ Uppy.js:521
addFiles @ Uppy.js:672
addFiles @ uppy-upload.js:503
_run @ index.js:804
_join @ index.js:783
join @ index.js:605
join @ index.js:152
(anonymous) @ index.js:250
(anonymous) @ uploads.js:411
n @ uploads.js:410

2 curtidas

Obrigado pela resposta rápida! Tentei novamente com uma imagem webp animada e vi esta saída:

gifsicle --colors=256 --crop 0,0+200 --resize-fit 288x288 --optimize=3 --output /tmp/RackMultipartID.webp /tmp/RackMultipartID.webp

Mas a imagem ainda é png. Estou perdendo alguma coisa? Fiz um hard refresh no navegador, só para garantir, mas a imagem sem animação persiste.

1 curtida

Não consigo mudar minha foto de perfil de jeito nenhum. Já tenho uma foto de perfil em GIF e tentei substituí-la por uma em PNG, mas o aplicativo exibe a mensagem de erro da minha mensagem anterior e não faz a troca.

Quero apenas mencionar que estou humildemente à disposição para testar quaisquer atualizações que este plugin possa necessitar, para que ele volte a ser utilizado de forma completa.

Você pode me contatar por qualquer meio que considerar adequado; tenho ampla disponibilidade e posso ajustar minha agenda/horário.

Parece que minha correção revelou um bug oculto. Atualizei o repositório com outra correção (e mais testes). As versões v2026.8 e posteriores do Discourse são afetadas.

O erro fatal e o upload bloqueado são um bug e foram corrigidos. No entanto, imagens WebP animadas ainda não são suportadas. O plugin foi originalmente projetado para GIF, e outros formatos de imagem permanecem estáticos. O suporte a WebP animado (e APNG) pode ser adicionado no futuro.


1 curtida

Obrigado pela correção! Acabei de testar na minha instância (atualizada para 012466a) e está funcionando. Testei tanto uma foto de perfil em .png quanto uma em .gif, e nenhum dos dois gerou erros. Está tudo certo do meu lado.

4 curtidas

Também agradeço pela atualização e confirmo que funciona perfeitamente no formato gif.

2 curtidas