구독 플러그인이 새로 로그인한 사용자를 존재하지 않는 후원자 페이지로 바로 이동시킴

몇 주 전부터 일반적인 사용자명/비밀번호로 포럼에 로그인하면 존재하지 않는 /s/contributors 페이지로 바로 이동됩니다. 로그인 자체는 정상적으로 이루어지지만, 잠시 동안 다음과 같은 화면이 표시됩니다:

이후 포럼 사용자는 다음과 같은 불안감을 주는 메시지로 리디렉션됩니다:

이 리디렉션이 발생하도록 사이트에 아무런 변경 사항도 두지 않았습니다(단, 모든 표준 업그레이드를 적용했을 뿐입니다). 이 문제를 해결하는 데 도움을 주실 수 있나요?

오류 로그에는 다음이 표시됩니다:


TypeError: e.plans is undefined
Url: https://foo.com/assets/plugins/discourse-subscriptions-e36523da482c3a11b8f5407c5ed5001ddc6fecc4528a555476e7a94814347753.js
Line: 1
Column: 1119
Window Location: https://foo.com/s/contributors

감사합니다!

1개의 좋아요

@Amicable 이건 제게 좀 이상하고 흥미로운데요. 사이트를 둘러볼 수 있도록 사이트 링크를 DM으로 보내주시겠어요?

/s/contributors는 새 캠페인 배너에 대한 기여자 데이터를 가져오기 위해 Subscriptions 플러그인이 사용하는 경로입니다. 하지만 어떤 경우에도 해당 경로로 리다이렉트되어서는 안 됩니다. 제가 아는 한 그런 동작을 하는 코드 경로가 없습니다.

7개의 좋아요

@Amicable 이 문제에 대해 몇 가지 테스트를 해 보았지만, login required가 활성화된 상태에서는 재현할 수 없었습니다. 사용자 초대와 신규 사용자 설정도 처음부터 시도해 보았지만 마찬가지였습니다.

사용자가 처음에 구독 페이지로 이동하나요? /s/prod_xxxxxxxxxx 같은 주소로요? 아니면 /s로 이동하나요?

로그인 전에 브라우저 캐시를 삭제하면 문제가 사라지나요?

공식 설치 가이드에 따라 구성된 설치 환경을 사용 중인가요? 이 문제를 경험한 후 최신 버전으로 업그레이드했나요?

@Amicable 최근에 새로운 자동 생성 캠페인 기능을 사용해 보고 바로 삭제하셨나요?

@justin 지금은 재현이 안 되지만, 해당 기능으로 실험을 하던 중 동일한 메시지를 확인했습니다. /admin/plugins/discourse-subscriptions/products 아래에 자동 생성된 캠페인의 잔여물이 남아 있었는데, 제품 자체이거나 그 안의 플랜이었습니다. 이를 제거한 후에는 로그인 기능이 정상으로 복구되어 더 이상 /s/contributors로 리다이렉트되지 않았습니다.

유용한 정보 감사합니다, @Kchalk – 재현을 시도해 볼 수 있도록 해당 부분을 조금 만져보겠습니다. 정확한 재현 단계를 알고 계신다면 그것도 도움이 될 것입니다.

수정: 이제 재현할 수 있습니다.

  • 캠페인 배너 위치를 Top으로 설정
  • 사이트가 로그인 필수로 설정되어 있음

자동 캠페인 생성 기능보다는 배너 자체와 관련된 문제일 가능성이 높습니다. 로그인 과정에서 /s/contributors 라우트가 호출되는 시점 때문일 것으로 보입니다. 다행히 홈 로고를 클릭하면 바로 사이트로 진입할 수 있지만, 최종 사용자에게는 우려스러운 부분이라고 생각합니다.

2개의 좋아요

@Kchalk 네, 뭔가 맞을 수도 있겠네요. 저는 각 페이지 상단에 배너를 표시하는 실험을 해본 적이 있지만, 나중에 제거했어요.

@justin 몇 달 전에 배너를 시도해본 기억이 나는데, 실제로 구현하지는 않았어요. 사용 사례는 각 페이지 상단에 배너가 표시되도록 하는 것이었는데, @Kchalk 님이 발견한 내용과 일치하는 것 같습니다.

위에 ^ 보여드린 스크린샷은 로그인 직후 모든 사용자에게 즉시 표시됩니다.

설정은 아주 기본적이고, 커스터마이징이나 플러그인도 거의 없습니다. 설치 가이드에 따라 만들었지만, 이미 몇 년 전 일이죠.

아직도 구독(subs) 플러그인은 비활성화 상태이며, 해당 사용 사례가 다시 생길 때까지 재활성화할 계획이 없습니다.

로그인 필수 사이트에서 더 이상 문제가 발생하지 않도록 수정하겠습니다. :slight_smile:

5개의 좋아요

한동안 후에 관리자 계정으로 데모 사이트 https://lets.trydiscourse.com에 로그인해 보니 같은 문제가 확인되었습니다. 테스트를 위해 사이트를 자유롭게 사용하세요!

수정은 꽤 간단했으며, 여기 PR로 올려두었습니다!

5개의 좋아요