확대된 채팅에서 메시지가 게시된 후 이미지를 열 수 없음

재현 방법:

1. 채팅 창 확대:

2.1. 메시지 내에 중간 크기 이상의 이미지를 포함해 전송하면, 메시지에서 해당 이미지를 클릭했을 때 더 큰 이미지가 포함된 팝업이 열릴 것으로 예상됩니다.

또는

2.2. 채팅에서 다른 사용자로부터 이러한 메시지를 수신합니다.

3. 이미지를 클릭합니다. 팝업이 열리지 않습니다.

우회 방법:

4. 브라우저에서 페이지를 새로고침합니다.

5. 이미지를 클릭하면 이제 더 큰 크기의 이미지가 포함된 팝업이 열립니다.

2개의 좋아요

아는 바로는 최근 회귀(regression) 문제인가요?

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

5개의 좋아요

네, 보이지 않는군요. 속삭임 수준이라 그렇습니다. 이미 @david에게 알렸어요. 이 최근 변경 사항과 관련이 있다고 생각도 들고요.

확인해 주셔서 감사합니다. 아직 제 가설을 입증할 시간이 없었거든요 :+1:

4개의 좋아요

Thanks @meglio and @Arkshine!

일반적인 "decorate cooked"가 메시지 콘텐츠에만 적용되도록 제한하는 것은 의도된 것입니다. 하지만 이미지를 처리하도록 일부 특정 라이트박스 로직을 추가했었는데요. 원본 이미지가 최적화된 버전으로 교체되는 경우를 처리하지 못하는 것으로 보입니다.

여기서 수정합니다:

https://github.com/discourse/discourse/pull/31414

7개의 좋아요

이 주제는 21시간 후 자동으로 닫혔습니다. 더 이상 답변을 작성할 수 없습니다.