Plugin de assinaturas agora envia usuários recém-logados diretamente para a página de contribuidores, que não existe

Há algumas semanas, ao fazer login no meu fórum usando as credenciais normais de nome de usuário e senha, sou redirecionado diretamente para uma página /s/contributors, que não existe. O login realmente funciona, mas isso aparece momentaneamente:

e, em seguida, os membros do fórum são redirecionados para esta mensagem desconcertante:

Não fiz nada no site para causar esse redirecionamento (apenas apliquei todas as atualizações normais) — alguém pode me ajudar a resolver isso?

Os logs de erro mostram o seguinte:


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

Muito obrigado!

1 curtida

@Amicable isso é estranho e interessante para mim. Você se importaria de me enviar o link do seu site por mensagem privada para que eu possa dar uma olhada?

/s/contributors é a rota que o plugin Subscriptions usa para obter dados sobre contribuidores para o novo banner de campanha, mas não deveríamos estar redirecionando para lá de forma alguma. Não há nenhum caminho de código do qual eu tenha conhecimento que faça isso.

7 curtidas

@Amicable Fiz alguns testes sobre isso e não consegui reproduzir com a opção login required ativada. Tentei convidar usuários e configurar novos usuários do zero também.

Os usuários estão acessando inicialmente uma página de assinatura? Algo como /s/prod_xxxxxxxxxx? Ou /s?

O problema desaparece se o usuário limpar o cache do navegador antes de fazer login?

Você tem uma instalação configurada com nosso guia oficial de instalação? Você atualizou para a versão mais recente após enfrentar esse problema?

@Amicable Você testou recentemente o novo recurso de criação automática de campanhas e o excluiu logo em seguida?

@justin Não consegui reproduzir agora, mas encontrei a mesma mensagem ao experimentá-lo. Havia restos da campanha criada automaticamente em /admin/plugins/discourse-subscriptions/products, seja o produto em si ou os planos dentro dele. Após a remoção, o login foi restaurado ao normal e não redirecionava mais para /s/contributors.

Essa é uma informação útil, @Kchalk – vou começar a testar isso para ver se consigo reproduzir o problema. Se você tiver os passos exatos para reproduzir, isso também ajudaria.

EDIT: Já consegui reproduzir agora.

  • Defina a localização do banner da campanha como Top
  • O site exige login

Não deve ter relação com o recurso de criação automática de campanhas, mas especificamente com o banner. Provavelmente devido ao momento em que a rota /s/contributors é chamada durante o processo de login. A boa notícia é que, se você clicar no logotipo inicial, você entra diretamente no site, mas consigo ver como isso pode ser preocupante para os usuários finais..

2 curtidas

@Kchalk sim, você pode ter algo. Experimentei colocar banners no topo de cada página, mas removi.

@justin lembro de ter tentado um banner há alguns meses, mas nunca o implementei. O caso de uso era fazê-lo aparecer no topo de cada página, o que parece corresponder à descoberta de @Kchalk.

As capturas de tela que mostrei ^ são visíveis para todos os usuários imediatamente após o login.

A instalação é muito padrão, com muito poucas personalizações e plugins. Foi criada seguindo o guia de instalação, mas isso foi há alguns anos.

Ainda temos o plugin de assinaturas desativado e provavelmente não o reativaremos até que um caso de uso para ele surja novamente.

Vamos corrigi-lo para que não haja mais problemas em sites que exigem login. :slight_smile:

5 curtidas

Depois de um tempo, fiz login no nosso site de demonstração https://lets.trydiscourse.com como administrador e também vi o mesmo problema. Sinta-se à vontade para usar o site para testes!

A correção foi bem simples e já está em um PR aqui!

5 curtidas