放大聊天中的图片在发送图片消息后无法打开

重现步骤:

1. 放大聊天:

2.1. 发送一条带有中等到大图片的聊天消息,这样你就可以期望在消息中点击它会弹出一个更大的图片。

或者

2.2. 在聊天中接收来自他人的此类消息。

3. 点击图片。它不会打开。

解决方法:

4. 刷新浏览器页面。

5. 点击图片 - 现在它会打开一个弹出窗口,显示一张更大的图片。

2 个赞

据你所知,这是最近的回归吗?

1 个赞

是的,我今天也看到这个了。我很确定这是最近的回归问题。

1 个赞

我认为问题出在这里:

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

4 个赞

是的,抱歉您没有看到,这是一个悄悄话,但我已经 @david 了。我也认为这与最近的这次更改有关。

感谢您的检查,我还没有时间来验证我的理论 :+1:

4 个赞

感谢 @meglio@Arkshine

将普通的“装饰已烹饪”限制在仅消息内容是故意的。但我们确实添加了一些特定的灯箱逻辑来处理图像。看起来它没有处理原始图像被替换为优化版本的情况。

修复在此处:

6 个赞

此主题已在 21 小时后自动关闭。不再允许回复。