로컬 인스턴스에서 플러그인 작동, 배포 환경에서 오류 발생

안녕하세요! 이것은 주로 @angus 님에게 드리는 질문이지만, 다른 분들의 제안도 있다면 정말 감사하겠습니다!

저는 @angus 님의 Topic Custom Field 플러그인의 변형 버전을 작업하고 있었는데, 로컬 호스팅된 discourse 인스턴스(버전 3.4.0.beta3-dev)에서는 원하는 대로 잘 작동했습니다. 그러나 배포된 discourse 인스턴스(역시 버전 3.4.0.beta3-dev)에 설치한 후 이상한 현상이 발생했습니다. 사용자가 새 게시글을 작성하고 커스텀 필드에 값을 입력하면, 게시글을 게시할 때 해당 값이 저장되거나 렌더링되지 않습니다. 하지만 사용자가 게시글을 편집한 후 값을 추가하면 정상적으로 저장되고 렌더링됩니다. 이는 커넥터(아마도 composer 커넥터) 어딘가에서 문제가 발생하고 있음을 시사하지만, 로컬 인스턴스에서는 완벽하게 작동하기 때문에 원인을 파악하지 못하고 있습니다. 입력값을 필터링하는 정규식이 있는데, 이것이 원인이 될 수 있을까요? 제안을 주시면 정말 감사하겠습니다. 감사합니다!

https://github.com/jacksnnn/discourse-topic-custom-fields/blob/main/assets/javascripts/discourse/connectors/composer-fields/topic-custom-field-composer.js

추상적인 상태에서 디버깅하기가 어렵기 때문에, 대신 몇 가지 조언을 드릴게요. 이런 유형의 문제를 해결하는 핵심은 집중력과 배제법입니다. 먼저, 왜 프로덕션에서는 문제를 재현할 수 있는 반면 개발 환경에서는 재현할 수 없는지부터 파악해 보세요.

  1. 프로덕션과 개발 환경의 플러그인과 테마가 정확히 동일한가요?
  2. 동일한 유형의 사용자(관리자, 모더레이터 등)를 사용 중인가요?
  3. 동일한 유형의 토픽에서 작업을 수행하고 있나요?
  4. 동일한 속도로 작업을 수행하고 있나요?

사실상 문제가 존재한다면, 개발 환경에서 문제를 재현할 수 있도록 가능한 모든 노력을 기울여 보세요. 결과가 나오거나 프로덕션 환경이 다른 이유를 파악할 때까지 그 부분에 집중하세요.

또한, Topic Custom Fields 플러그인이 프로덕션 사용에 적합하지 않은 이유 중 하나는 테스트가 전혀 없다는 점입니다. 이 말을 듣기 싫을 것 같지만, 컴포저(composer) 동작에 대해 인수 테스트를 작성해야 합니다. 이를 통해 특정 시나리오에서 해당 기능이 정상적으로 작동하는지 여부를 명확하게 확인할 수 있을 것입니다.

이것이 도움이 될지는 확실하지 않지만, 게시물을 생성할 때 커스텀 필드가 제대로 설정되지 않는 것이 문제일 수 있습니다.

컴포저가 열릴 때 필드에 기본값을 지정하는지 확인하세요.

정규식 필터를 일시적으로 비활성화하여 검증 문제를 일으키고 있는지 확인해 볼 수도 있습니다. 마지막으로, 초기 저장 시 전송되는 데이터에 커스텀 필드가 실제로 포함되어 있는지 다시 한 번 확인해 보세요.