투표가 포함된 게시글을 수정할 수 없습니다

이 게시물과 동일한 문제가 있는 것 같습니다. 하지만 불행히도 해당 스레드는 닫혀 있습니다.

이 게시물(새 사용자 제한으로 링크를 공유할 수 없는 또 다른 게시물 포함)의 일부 텍스트를 수정하려고 시도해 왔지만, 동일한 오류(“첫 5분 이후에는 투표 내용을 변경할 수 없습니다.”)가 발생합니다. 투표 자체를 수정하는 것이 아님을 유의해 주세요. 이 게시물들의 ‘Schedule’ 섹션에 있는 텍스트를 링크로 바꾸려는 것뿐입니다. 투표가 열려 있든 닫혀 있든 관계없습니다.

@tshenry, 이 문제를 재현해 볼 수 있을까요?

참고로, 최근 http://community.wanikani.com에서 몇몇 사용자에게 이런 일이 발생했지만, 다른 사용자들은 투표가 포함된 게시물을 아무 문제 없이 수정할 수 있었습니다. 최근에 발생했다가 이미 해결된 버그가 있었지만, 그 버그가 존재할 때 생성된 게시물들이 잘못된 상태로 고정되어 있는 것은 아닌지 궁금합니다.

음, 재현이 안 됩니다.

OP에서 링크된 게시물의 마크다운을 정확히 복사해서 혹시 특이한 엣지 케이스가 있는 건 아닌지 확인해 보았습니다. 5분 수정 대기 시간이 지나도록 기다린 후, Schedule 섹션의 항목에 링크를 추가해 보았습니다. 아무 문제 없이 저장되었습니다.

가능성은 있지만, 그렇게 생각하지는 않습니다. 게시글 관리자 메뉴의 “HTML 재구축” 옵션을 사용하여 관리자/모더레이터에게 게시물을 다시 처리(rebake)해 보라고 권유할 수 있습니다. 이를 통해 게시물이 최신 기준으로 올바르게 렌더링(cooked)되었는지 확인할 수 있습니다.

최근 수정 이력에서 이상한 차이(diff)가 보입니다:

변경 사항이 있었던 것처럼 보이지만, 원본(raw) diff를 살펴보면 변경 사항이 전혀 보이지 않습니다.

생각할 수 있는 유일한 가능성은 이모지가 투표와 함께 사용될 때 발생할 수 있는 특이한 엣지 케이스가 있다는 것인데, 아직까지 이를 입증하지는 못했습니다.

음, 사용자가 게시글에 무관한 수정을 가할 때 투표 영역에서 Discourse의 자동 변경 사항이 발생하여 투표 자체에 변경이 이루어지는 것처럼 보이는 경우가 있을까요? 게시글이 처음 작성되었을 때와 비교하여 현재 투표 영역에서 다른 HTML이 생성되도록 Discourse 렌더링 코드의 일부가 변경되었을 때 이런 일이 발생할 수 있을까요?

이것을 추천하기 전에 한 번 더 확인하고 싶은데, 이것은 유예 기간 내에 투표를 편집할 때처럼 투표 결과를 초기화하지는 않겠죠?

아니요, 결과는 데이터베이스에 저장되어 있어 영향받지 않습니다. 하지만 제 경험상 그렇게까지 할 필요는 없다고 봅니다. 아래를 참고하세요.

좋은 지적입니다! diff의 HTML을 검사해 보면 첫 번째 옵션의 data-poll-option-id가 변경된 것을 볼 수 있습니다:

이것은 모두 백엔드에서 생성되는 것이므로, 이로 인해 값이 변경되도록 만든 버그가 있거나 있었다고 볼 수 있습니다.

data-poll-option-id(PollOption 레코드에서 digest로 저장됨)를 수동으로 변경해 보았고, 문제를 재현할 수 있었습니다(더 이상 편집을 저장할 수 없음). 이전 값으로 되돌리면 정상적으로 편집할 수 있습니다.

몇 가지 더 확인해 보겠습니다.

네, 이 문제에 대해 후속 질문이 있습니다. 엔지니어링 팀에 확인해 본 결과, 투표에서 사용된 이모지가 원인으로 좁혀졌습니다. 이모지의 이미지 소스가 cooked post 값에서 변경되어 상태가 다소 이상해졌습니다. 이모지 소스는 거의 변경되지 않으므로, 이 문제가 지속적으로 발생할 가능성은 매우 낮다고 생각합니다. 불행히도, 이 문제가 드물게 발생하고 기존 발생 사례를 수정하는 데 상당한 노력이 필요하므로, 해당 게시글은 재생성하거나 그대로 두어야 할 것 같습니다.

네, 이해가 됩니다. 후속 조치를 해 주셔서 감사합니다. 다른 사용자에게도 게시물을 다시 생성(rebake)하도록 스태프에게 요청하면 문제가 (가능성이 높지만) 해결될 수 있다는 점을 알리겠습니다. 다만, 자동으로 수정되지는 않는다고 말씀드리겠습니다.

그리고 투표에서 이모지를 사용하지 않는 것이 가장 좋겠다고 생각해요?

불행히도 ‘HTML 재구축’ 옵션이 작동하지 않는 것 같습니다:

이후로 투표 기능을 완전히 제거했습니다.