Discourse 모바일 버전에서 개발하기

소스 코드를 좀 더 파고들다 보니 도움이 되는 환경 변수 두 가지를 찾았습니다.

  • PRINT_EXCEPTIONS - 모든 예외를 표시합니다. 너무 노이즈가 많아서 유용할지 모르겠지만, 제 경우에는 도움이 되었습니다.
  • RAILS_LOGS_STDOUT - 모든 로그를 콘솔로 출력합니다. 위에서 찾고자 했던 것이 바로 이것이었죠.

이것들을 통해 Rails 내부나 제 테마의 SCSS에서 에러가 발생하지 않는다는 것을 확인했습니다.

어떤가 하면, Ember와 Rails 사이에 gzip 구성 요소가 끼어 있었습니다. 어떻게 거기서 생겼는지는 모르겠지만, Content-Encoding 헤더가 존재할 때 이 특정 라인에서 해당 헤더를 복사해서 넘겨주고 있었고, 이로 인해 브라우저(와 curl)가 응답 본문 전체를 무시하게 되었습니다(아마도 더 이상 gzip으로 인코딩되지 않았기 때문일 것입니다).

이 문제는 2.9.0.beta1에서 수정된 것 같습니다만, 저는 2.7.13 버전을 사용하고 있습니다.

개발 환경에서 gzip 구성 요소를 제거하면 제 특정 버전에서는 문제가 해결되었지만, 앞으로는 gzip와 함께 잘 작동할 것으로 보입니다. 데스크톱 버전에서는 왜 같은 문제가 발생하지 않았는지 모르겠습니다.

비슷한 문제를 겪고 있는 다른 분들에게 도움이 되길 바랍니다.