这是否支持个人资料横幅?
install.sh 安装脚本中的某些内容破坏了 Discourse 的重建,参见此处。
看到这条评论,我本来要安装这个插件,但现在打消念头了,哈哈。
仍然是这种情况。注释掉 install.sh 部分,然后重新构建。取消注释,再次重新构建。这样就行了。奇怪。
安装是否仍然存在错误?
不,对我来说不是。
你有没有试过不注释掉它就重新安装?
我经常重建 Discourse。
我不确定几个月前的问题是什么。也许这当时也与 GeoIP 下载有关,后来该下载被更改为本地文件。
说实话,我也不确定那是什么问题,那个脚本和报告的错误没有任何关系。
你好,我在最新的 Discourse 版本(v2026.8.0-latest.1)上遇到了一个致命错误。
当用户尝试设置或更新个人资料图片时,前端会返回一个通用的 422 (Unprocessable Content) 错误,并且 Uppy 会记录一条网络警告。
查看 Sidekiq/Rails 日志后发现,该插件正在使 UploadCreator 流水线崩溃,因为它在当前的图像优化哈希中查找一个似乎缺失的 resize_animated 键。
以下是来自 /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'
如果需要其他日志,请告诉我!
我已经安装并尝试使用 GIF 和 WebP 图片(尺寸在 200 像素以内),按理说这些图片不应该被缩放,但每次尝试都会出现 ``key not found: "resize_animated
感谢大家的 bug 报告!该 bug 仅影响 v2026.8 及更高版本。我已经推送了修复补丁,所以现在直接更新即可。
感谢快速修复了 resize_animated 键错误。该问题已解决,并且我已更新到 29784ee(Discourse v2026.9.0-latest)。然而,我现在在设置/更新个人资料图片的同一代码路径中遇到了一个新的、不同的致命错误。
我认为 --crop 参数格式不正确。Gifsicle 期望的格式是 --crop x,y+width+height(或 x,y-x2,y2),但这里只有 0,49+399,即 x,y 对加上一个单独的 +399,完全缺少第二个 +height 组件。
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
感谢快速回复!我再次尝试使用动画 webp 图像,并看到了以下输出:
gifsicle --colors=256 --crop 0,0+200 --resize-fit 288x288 --optimize=3 --output /tmp/RackMultipartID.webp /tmp/RackMultipartID.webp
但图像仍然是 png。我是不是遗漏了什么?我特意强制刷新了浏览器以防万一,但非动画图像依然存在。
我完全无法更改我的头像。我目前使用的是一张 GIF 格式的头像,我尝试用一张 PNG 格式的头像替换它,但系统弹出了提示框,并显示了我上一条消息中提到的错误,头像也没有被更换。
我只是想表示,如果该插件需要任何更新,我很乐意随时帮忙测试,以便它再次被全面使用。
您可以通过任何您方便的方式联系我;我的时间很充裕,可以根据需要调整日程。
看来我的修复暴露了一个隐藏的错误。我已在代码仓库中更新了另一个修复方案(并增加了更多测试)。Discourse v2026.8 及更高版本均受此影响。
致命错误和上传被阻止是一个 bug,现已修复。不过,目前尚不支持动画 WebP 图片。该插件最初是为 GIF 设计的,其他图片格式仍保持静态。未来可能会添加对动画 WebP(以及 APNG)的支持。
谢谢修复!我已经在我的实例上测试过了(已更新到 012466a),运行正常。我分别尝试了 .png 和 .gif 格式的头像,两者都没有报错。在我这边看起来没问题。
我也感谢你的更新,并确认它在 GIF 格式下运行完美。

