重现步骤:
1. 放大聊天:
2.1. 发送一条带有中等到大图片的聊天消息,这样你就可以期望在消息中点击它会弹出一个更大的图片。
或者
2.2. 在聊天中接收来自他人的此类消息。
3. 点击图片。它不会打开。
解决方法:
4. 刷新浏览器页面。
5. 点击图片 - 现在它会打开一个弹出窗口,显示一张更大的图片。
重现步骤:
1. 放大聊天:
2.1. 发送一条带有中等到大图片的聊天消息,这样你就可以期望在消息中点击它会弹出一个更大的图片。
或者
2.2. 在聊天中接收来自他人的此类消息。
3. 点击图片。它不会打开。
解决方法:
4. 刷新浏览器页面。
5. 点击图片 - 现在它会打开一个弹出窗口,显示一张更大的图片。
据你所知,这是最近的回归吗?
是的,我今天也看到这个了。我很确定这是最近的回归问题。
我认为问题出在这里:
api.decorateChatMessage(
(element) =>
lightbox(element.querySelectorAll("img:not(.emoji, .avatar)")),
{
id: "lightbox",
}
);
之前,api.decorateChatMessage 传递的是 .chat-message-container 元素:
之后,它传递的是 .chat-cooked 元素:
由于图片定义在 chat-message-collapser-body 内部,lightbox 在此处找不到图片。
在此处引入的更改:DEV: Refactor chat HTML decorating (#31309) · discourse/discourse@a0f681b · GitHub
是的,抱歉您没有看到,这是一个悄悄话,但我已经 @david 了。我也认为这与最近的这次更改有关。
感谢您的检查,我还没有时间来验证我的理论 ![]()
将普通的“装饰已烹饪”限制在仅消息内容是故意的。但我们确实添加了一些特定的灯箱逻辑来处理图像。看起来它没有处理原始图像被替换为优化版本的情况。
修复在此处:
此主题已在 21 小时后自动关闭。不再允许回复。