"Solved" 잠금 상태 이해하기

image
도표에 표시된 해결책은 버튼 옆에 체크박스가 없으며 선택을 해제할 수 없습니다.

상황은 다음과 같습니다. 이것은 관리자 권한을 가진 셀프호스팅 서버입니다. 모더레이터 권한을 가진 테스트 계정(로그나 경험을 기록하기 위해 사용하는 계정)이 주제를 생성했습니다. 해당 주제 내의 내 답변 중 하나를 해결책으로 표시했습니다. 오늘, 기존 기록을 손상시키지 않고 일부 오래된 주제의 해결책을 교체하고 싶었습니다. 그래서 해당 주제에 새로운 답변을 게시하고, 기존 해결책의 선택을 해제한 후, 새로운 해결책을 승인했습니다. 제가 직접 생성한 주제에서는 이 과정이 정상적으로 작동했습니다. 그러나 다른 계정이 생성한 이 주제에서는 기존 해결책의 선택을 해제할 수 없었습니다.

  • 처음에는 권한 문제일 것이라고 의심하여, 관리자 권한을 가진 다른 테스트 계정으로 해당 답변을 게시한 계정의 모든 특별 권한을 취소했습니다. 그러나 여전히 선택을 해제할 수 없었습니다.

  • 그 후, 해결책으로 표시된 답변의 작성자가 주제 생성자가 아니기 때문일 수 있다고 의심하여 해당 모더레이터 계정으로 전환했지만, 결과는 동일하여 여전히 선택을 해제할 수 없었습니다.

  • 이후, 원본 게시물의 소유권을 변경하여 주제 생성자와 답변 작성자를 동일한 사용자로 설정해 문제를 해결하려고 시도했습니다. 그러나 여전히 위 도표에 표시된 것과 같은 잠금 상태가 표시되었습니다.

유사한 상황을 경험하신 분 계신가요? 여러분의 경험을 듣고 싶습니다. :slightly_smiling_face:

:memo: 참고

모더레이터 계정으로 전환한 경우를 제외하고, 나머지 모든 경우에서 기존 해결책의 선택을 해제하려는 사용자는 관리자 권한을 가지고 있었습니다.

불편한 사실은 이 시나리오를 다른 주제에서 유사한 과정을 통해 재현할 수 없었다는 것입니다. :innocent:
이 잠금 효과는 이벤트 작업에 의해 직접적으로 트리거된 것이 아니라, 어떤 타이밍 처리를 기다려야 하는 것 같습니다.

주제가 잠겨 있나요? 기억이 맞다면, 그 이유가 될 수 있는 요인 중 하나일 수 있습니다.

열려 있는 상태에서도 이 문제는 여전히 발생하며, 먼저 해결책을 선택한 후 주제를 닫는 방식으로 재현할 수 없습니다. :thinking:

버그일 가능성이 있습니다. 솔루션을 변경하려고 할 때 페이지를 검사하고 콘솔 탭을 확인해 보면 오류가 발생하나요?

아니요, 콘솔에는 관련 정보가 없으며, 이 평범한 내용만 있습니다.

app.js:331 ℹ️ Discourse v2026.3.0-latest — https://github.com/discourse/discourse/commits/5907059890 — Ember v6.10.1
start-discourse-ed0c531d.js:4 [Intervention]Images loaded lazily and replaced with placeholders. Load events are deferred. See https://go.microsoft.com/fwlink/?linkid=2048113

해결 방법 변경에 대해서는, 해당 솔루션이 잠겨 있어 시도할 수 없으며, 해당 위치는 클릭 가능한 버튼이 아니므로 실제로 어떤 조작도 수행할 방법이 없습니다.

드디어 (표면적인) 문제를 파악했습니다. 특정 업데이트 이후, 어째서인지 이 카테고리에서 ‘해결됨(Solved)’ 기능이 꺼져 있었습니다.
문제는 이 카테고리가 GitHub 저장소의 특정 커밋을 추적해야 한다는 점입니다. 저는 OneBox로 렌더링될 수 있는 게시글을 작성하여 답글을 남기는 방식으로 주제를 해결된 것으로 표시했는데, 그러면 24시간 카운트다운이 끝난 후 주제가 자동으로 닫혔습니다.
그러나 이 카테고리에서 ‘해결됨’ 기능을 다시 활성화했을 때, 이전 구성 데이터도 함께 사라져 있음을 발견했습니다. 예를 들어, 같은 카테고리의 모든 이전 주제 기록에 따르면 자동 종료 시간은 처음에는 10시간으로 설정되어 있다가 나중에 24시간으로 변경되었습니다. 하지만 ‘해결됨’ 기능을 켜자, 해당 기능이 활성화된 적 없는 것처럼 기본값을 채우기라도 하듯 자동으로 48시간 후 종료로 리셋되었습니다. 결국, 새로 추가된 지원(Support) 설정 페이지의 Auto close solved topics 설정을 통해 이 값을 다시 설정해야 했습니다.