큰 이미지 원박싱 실패 시 시각적 표시가 없음

Discourse 3.1.0.beta3 (7c6a8f1c74) 실행 중

Onebox와 PNG / JPG 이미지에서 매우 이상한 동작을 확인하고 있습니다.

Onebox로 변환하고 싶은 이미지는 다음과 같습니다: https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png

아래와 같이 깔끔하게 임베드되어야 합니다:

하지만 대신 포스트에서 이미지가 링크로만 표시됩니다.

브라우저 콘솔에 404 오류가 표시되고 있습니다:

다른 예시들:

작은 PNG:

https://dronescene.co.uk/images/uploads/fullsize/20211106095005_vlcsnap_2021_05_04_17h10m24s149.png


큰 JPG:

https://dronescene.co.uk/images/uploads/fullsize/20230227161106_DJI_0087_1.jpg

큰 PNG:

https://dronescene.co.uk/images/uploads/fullsize/20220103215207_IMG_5782.png

음, 여기서는 잘 작동하네요.

하지만 try.discourse.org에서는 실패합니다.

https://try.discourse.org/t/lorem-lorem-ipsum-dolor-sit-amet-consectetur-adipiscing-elit/1425/2

큰 이미지가 표시되지 않는 것을 확인해 보세요.

사실은 작동하지 않는 것 같은데, 큰 이미지가 안 뜨지 않나요? :thinking:

처음에는 이 버그가 파일 크기 때문일 수도 있다고 생각했습니다. 우리 멤버들은 종종 40MB가 넘는 이미지를 게시하지만, try.discourse.org에서 5MB짜리 PNG 이미지만으로도 이 문제를 재현할 수 있습니다.

게시글을 작성할 때 작성창(composer window)에는 이미지가 표시되지만, 게시글을 제출하면 실제 게시글에는 이미지가 표시되지 않습니다.

이후 게시글을 수정하면 작성창에 이미지가 다시 나타납니다:

테스트해 볼 onebox URL 이미지입니다:

https://dronescene.co.uk/images/uploads/fullsize/20230329003455_Screenshot_2023_03_29_at_00.23.31.png

그리고 메타(meta)에서 테스트하기 위해, 이미지는 여기 표시되어야 합니다:

이 버그는 try와 meta 모두에서 존재합니다.

그 게시글을 제출했을 때 이미지가 잠시 표시되다가 몇 초 후 다시 사라졌습니다. 스크린 레코딩을 해야 했었네요. 베이킹 과정에서 손실되거나 깨지는 건가요? :thinking:

이 버그를 좀 더 파헤쳐 보고 있습니다.

이미지가 원박스(onebox) 처리에 실패했거나 로컬 카피가 가져오지 못한 게시글을 확인했을 때, 게시글을 수정하면 브라우저 콘솔에 404 Not Found 오류가 표시됩니다:

가져오려고 하는 URL은 다음과 같습니다:

https://greyarro.ws/onebox?url=https%3A%2F%2Fdronescene.co.uk%2Fimages%2Fuploads%2Ffullsize%2F20230411071449_8719D92D_726A_46BF_9437_A06DD0507D77.jpeg&refresh=true&category_id=17&topic_id=61425

이미지는 존재하는데 왜 404가 발생하는지 모르겠습니다 :thinking:

https://dronescene.co.uk/images/uploads/fullsize/20230411071449_8719D92D_726A_46BF_9437_A06DD0507D77.jpeg

지난 5년간 이 방식이 잘 작동해 왔는데, 최근 3~4주 동안만 문제가 발생하고 있습니다.

1개의 좋아요

오늘 다시 한 번 시도해 보았지만, 여전히 무슨 일이 일어나고 있는지 파악하지 못했습니다.

https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png를 추가하려고 하면 미리보기에 표시되고, 게시물에도 1초 정도 보이다가 바로 비어 있는 상태로 변합니다. :person_shrugging:

404 오류는 보이지 않습니다. 파일 크기 때문인 것 같아서 미리보기에서 줄별로 로드되는 모습을 보고 90년대로 돌아간 것 같았죠 :slight_smile: 하지만 더 작은 파일로 시도해 보았다고 하셨는데, 같은 문제가 발생했다고 하셨네요. 어느 파일이었는지 알려주시면 저도 그 파일로 시도해 보겠습니다. :+1:

1개의 좋아요

@JammyDodger 감사합니다.

같은 문제가 있는 작은 5MB 이미지가 하나 있습니다: https://dronescene.co.uk/images/uploads/fullsize/20230329003455_Screenshot_2023_03_29_at_00.23.31.png

여기에 표시되어야 합니다:

말씀하신 대로, 1초 정도 표시되다가 다시 사라집니다.

하지만 게시글을 편집하면 작성기에 표시되네요 :thinking: :exploding_head:

파일이 너무 크기 때문에 삭제된 것 같습니다. 기본적으로 max image size kb는 4096kb이며, 이 특정 파일은 5000kb를 초과합니다.

제 이해로는 이미지를 업로드하면 전송 전에 자동으로 크기 조절/압축이 이루어집니다. 클라이언트 측 브라우저 최적화 덕분에 큰 사진도 업로드할 수 있습니다.

download remote images to local 설정을 사용하면 Discourse는 이미지를 있는 그대로 다운로드하려고 시도하며, 파일이 너무 크면 게시글 내용에서 제거됩니다.

3개의 좋아요

안녕하세요 @Arkshine

이 기본값이 최근 몇 달 사이에 변경되었나요?

우리는 30~40mb 또는 그 이상의 크기를 가진 1,000개 이상의 이미지를 수년간 원격으로 가져오고 있었지만, 아무런 문제가 없었습니다 :thinking:

죄송합니다 @Arkshine. 아까 메시지를 잘못 이해했을 수도 있어서 오늘 아침에 다시 확인해 보았습니다.

수년 전부터 이미지 크기를 최대 100MB까지 허용하도록 설정을 변경해 두었습니다.

이 문제가 언제부터 발생했는지 정확히 추적해 보고 있는데, 대략 2023년 3월 3일 이후의 어느 시점으로 범위를 좁힐 수 있었습니다.

2023년 3월 3일에 정상 작동했던 35MB 이미지는 다음과 같습니다:

https://dronescene.co.uk/images/uploads/fullsize/20230303120013_DJI_0013.jpg

그리고 같은 3월 날짜의 27.3MB 예시는 다음과 같습니다:

https://dronescene.co.uk/images/uploads/fullsize/20230303120713_DJI_0055.jpg

2월 27일의 11MB 예시는 다음과 같습니다:

최근 6주 정도 동안의 커밋을 살펴보고 커밋 메시지 중에 눈에 띄는 것이 있는지 확인해 보겠습니다 :slight_smile:

1개의 좋아요

이 포스트(그리고 아래 포스트)의 원본 콘텐츠가 당신의 포럼에서 업로드된 이미지임을, 외부 링크가 아님을 보여줍니다. Client side image optimization enabled by default 덕분에 큰 이미지를 업로드할 수 있게 되었습니다.

당신의 초기 문제는 외부 이미지 링크를 삽입하는 것에 관한 것입니다.
그러나 이미지 링크를 붙여넣을 때 이미지 크기를 확인하지 않는 Discourse의 동작이 의도된 것인지 확신이 서지 않습니다. :thinking:

app.yml의 upload_size 값을 공유해 주시겠습니까?

리치, 안녕!

Discourse가 아주 큰 원격 이미지를 다운로드할 수 있는지는 잘 모르겠어.

다만, 이전에 큰 이미지를 핫링크로 연결하면 "이 이미지는 포럼에서 표시하기에 너무 큽니다"라는 메시지와 함께 외부 이미지 링크가 표시되던 걸 기억해.

그런 일이 더 이상 일어나지 않는 것 같아.

외부의 큰 이미지 링크(https://upload.wikimedia.org/wikipedia/commons/0/0b/New_cyclic_large.gif - 11MB GIF)를 붙여넣어 보니, 리치의 문제를 재현할 수 있었어:

이것은 확실히 버그인 것 같고, 회귀 문제(regression)일 수도 있어.

1개의 좋아요

문제를 오해하셨거나, 아니면 버그의 원인을 보고 계신 것 같습니다. :thinking:

저는 그 이미지를 Discourse에 업로드한 것이 아니라, 단순히 링크를 붙여넣었을 뿐입니다. 정확히 @Canapin 님의 아래 스크린 녹화처럼요. :blush:

@Canapin 님, 큰 이미지들을 몇 년 동안 계속 가져오고 있었거든요. 몇 년간 그랬는데, 최근 6~8주 동안만 작동이 멈춘 것입니다.

테스트해 주셔서 감사합니다. :+1:

저희 포럼, try.discourse.org, meta.discourse.org 모두에서 재현할 수 있습니다.

해당 이슈에 보상을 걸었습니다:

지금까지 이 이슈를 살펴봐 주신 모든 분들께 다시 한번 감사드립니다. :bowing_man:

저도 이 문제를 재현할 수 있었습니다. 또한 이미지 관련 설정을 모두 확인해 보았지만, 해당 설정 중 아무것도 이런 효과를 일으키는 원인이 되는지는 확인되지 않았습니다. 처음에 큰 이미지 링크로 게시물을 작성하면 사진 상단에서 로드되는 것처럼 1분 정도 깜빡이다가 결국 사라지는 현상을 확인했습니다. (게시물 미리보기 창에서는 이미지가 매우 선명하게 보임에도 불구하고요.)

2개의 좋아요

고마워요 @Lilly, 저희도 같은 문제를 겪고 있어요.

1개의 좋아요

방금 개인 메시지에서 테스트해봤는데 이미지는 예상대로 정상적으로 표시되고 원본으로 링크도 잘 걸려요. 그래서 문제가 토픽 게시글 보기에서만 발생하는 것 같아요.

@Richie 사진들 너무 좋네요 :slightly_smiling_face:

2개의 좋아요

참고로, 방금 테스트해 봤는데 제 쪽에서도 PM에서 사라졌습니다.

2개의 좋아요

이상하네요

제 개인 메시지(PM) 화면은 다음과 같습니다:

데스크톱과 모바일 뷰에서도 동일한 문제가 발생합니다.