Uma das alterações no Discourse na última semana ou algo assim quebrou meu plugin e não consigo descobrir o que está realmente errado ou como consertar. O plugin funcionou bem por anos até este ponto.
O plugin faz várias coisas, mas o que parece relevante aqui é adicionar um botão à página de perfil do usuário.
Agora, quando visito essa página para qualquer usuário, a maior parte da página não é renderizada (incluindo o botão que meu plugin visa adicionar):
Não tenho certeza do que fazer com esse erro, pois não é meu código, e o t que é not a function não está na linha, ou em qualquer lugar perto dela, de onde a exceção está vindo. Bastante confuso. Mas não sou um especialista em JS, então talvez eu esteja apenas perdendo algo aqui.
Ao depurar com o depurador do Chrome, o problema ocorre nessa linha ao processar o template do meu plugin, mas não consigo ver o que está realmente causando o problema, ou se é devido a algo que preciso mudar/atualizar ou um bug no próprio Discourse.
O código JS do plugin e o template HBS que acho que estão envolvidos estão no meu conector user-profile-primary, que pode ser encontrado aqui:
Olá @LeoDavidson - obrigado por levantar esta questão. Você está quase certamente correto de que está relacionado a esses commits - vou investigar e tentar descobrir o que mudou. Eu não pretendia introduzir nenhuma mudança de comportamento.
Mas, enquanto isso, este PR deve corrigir o problema, movendo seus conectores de plugin para um layout de diretório mais comum:
Esse /user/ extra no caminho significa que ele não é detectado pela nossa lógica unColocateConnectors.
Fiz uma busca em all-the-plugins e all-the-themes e não encontrei nenhuma outra ocorrência desse layout de diretório. Portanto, vou deixar as coisas como estão por enquanto, a menos que recebamos mais relatos de problemas.