실수로 클릭한 하트를 되돌리려 하면 사용자 오류 메시지가 표시됩니다

게시물의 ‘좋아요’ 기록을 확인하려고 했는데, 숫자가 아닌 하트 아이콘을 클릭했습니다. 그 결과 제 :heart:가 해제되고 카운터가 줄어든 상태가 되었고, 다시 시도하면 다음과 같은 메시지가 표시됩니다:

하지만 제 사용자 아바타는 그대로 남아 있었습니다. 스크린샷을 찍고 이 메시지를 작성하는 동안 페이지를 새로고침할 수 있었고, 그 결과 하트가 다시 채워진 상태와 올바른 카운터를 확인할 수 있었습니다.

이것은 마우스 클릭 실수 상황을 더 복잡하게 만들지만, 동시에 :heart:를 안정적으로 취소/제거하는 방법에 대한 질문도 제기합니다. 오늘은 이 문제와 더 이상 씨름하지 않겠으며, 다른 사람이 그 부분을 테스트해 보도록 하겠습니다.

이 게시물에서 이 문제를 재현할 수 있나요?

저는 아닙니다. 제 환경에서도 마찬가지예요. 그래서 버그가 아닐 것 같아요.

죄송합니다, 여러분. 한 단계를 빠뜨렸고, 절차도 잘못 보고했습니다. 버그가 발생한 트리거는 :heart: 큐(혹은 여러분이 부르는 이름)를 닫으려 했을 때, 큐 개수 대신 :heart:를 클릭한 것이었습니다.

어제의 정확한 단계를 기억하진 못하지만, 방금 여기서 재현할 수 있었습니다.

  1. :heart: 설정
  2. :heart: 큐 펼치기
  3. :heart: 지우기
  4. :heart: 복구

하트를 복구하려고 할 때 오류 메시지가 표시되어야 합니다. 아래 세부 사항으로 넘어가기 전에, 위의 단계로 해당 동작을 재현해 볼 수 있는지 확인해 주세요. 꽤 이상한 일이 일어납니다.

참고로 저는 산업 자동화, 로봇공학, 비전 시스템 개발자이므로, 제가 제출하는 버그 리포트는 대체로 매우 신뢰할 수 있습니다.

P.S. 아래 구분선이 거의 보이지 않습니다. 다른 분들께는 적절한 대비로 렌더링되나요? (현재 사용 중인 테마를 보고해 주세요.)


@sam의 게시물에서 한 번 이 상황을 만들었고, :heart:의 멈춰 있는 상태가 해소되는지 확인하기 위해 페이지를 새로고침했습니다. 더 테스트하기 위해 페이지를 새로고침했을 때, :heart:는 예상대로 작동했습니다. @Jagster의 게시물도 새로고침 직후 정상적으로 작동했습니다(새로고침 전에 아무 조작도 하지 않았으므로). 하트를 설정하고 지울 수 있었습니다.

image

그러나 잠시 후, Sam의 게시물에서 :heart:를 지우지 못했고, Jakke의 게시물은 OP에서 보고된 대로 set() 상태에 멈춰 있으며, 다음과 같은 오류를 발생시켰습니다:

image

위의 단계로 재현해 볼 수 있는지 확인해 주세요. 같은 페이지 방문 중 큐를 열어둔 상태에서 :heart:를 설정한 뒤 지우는 것과 관련이 있다고 생각합니다.

재현 방법에 대해 더 많은 세부 정보를 보고할 수 있다면 그렇게 하겠습니다. 새로고침 없이 Jakke의 게시물이 동작을 변경한 것은 매우 이상했습니다.

메타에서 이 문제를 재현해 보았는데, 재현할 수 있었습니다. 레이트 리미팅(rate limiting) 문제인 것 같습니다. 30초 이내에 좋아요를 3~4번 클릭하면, 해당 작업을 다시 수행하려면 30초를 기다려야 한다는 레이트 리미팅 오류가 발생합니다. 이 과정을 두 번 반복한 후에도 동일한 오류가 발생했습니다.

Discourse가 제가 봇이라고 판단하여 잘못된 작업을 시도하고 있다고 생각하기 때문이라고 생각합니다.

그래서 이것을 "페이지를 새로고침하지 않는 이상 기이한 동작"으로 분류할 수 있을 것 같습니다.

이해가 되지만, 오류 메시지는 이것이 사용자 오류 메시지라기보다는 시스템 메시지(프로그램 실행 환경/쉘에서 온 것, Discourse 애플리케이션 자체에서 온 것이 아닌)처럼 보이므로 이 내용을 전달하지 않습니다.

…그리고 24시간이 지난 후에도 여전히 Sam의 또는 Jakke의 게시물에서 "heart:"를 지울 수 없습니다. 이것은 edit_window_time이 만료되었기 때문일 수 있습니다. (설정 이름은 의사 코드입니다.)

image

이것은 post undo action window time 설정 때문입니다.

이 설정에서 지정한 시간이 지나면 좋아요를 취소할 수 없습니다.

확인해 줘서 고마워, 아메드. 타임아웃 윈도우 때문인 줄은 알았지만, 이렇게 빨리 걸릴 줄은 몰랐어.

10분은 꽤 짧은 시간이야. 나중에 그 게시자가 대화 후반부에 언급한 내용을 근거로 :heart:를 취소하고 싶을 수도 있겠어.