Que timing, hein! Sem atividade por uma semana e, de repente, duas soluções com 20 minutos de diferença!
Eu tinha escolhido aquela solução inicialmente, mas decidi optar por uma solução genérica, já que o parâmetro não é usado em nenhum caso.
Fundi o PR do @merefield, que corrige o problema aqui.
@ti0 Obrigado também pelo seu PR. O argumento é realmente utilizado Se você chamar super sem argumentos (ou seja, em vez de super()), os argumentos da subclasse são automaticamente passados para super. Se você observar o método que está sendo sobrescrito, verá onde o argumento está sendo utilizado: discourse/lib/search.rb at main · discourse/discourse · GitHub.
@ti0@merefield Como nota lateral, deveríamos criar um PR no núcleo do Discourse aqui para adicionar um hook para adicionar novos type_filters à classe Search a partir de um plugin. Seria mais performático e estável do que aplicar patches no método execute. Poderia ser um projeto interessante se você conseguir convencer a equipe do Discourse de que vale a pena como uma adição.
@justin Você conseguiu resolver isso? Encontrei o mesmo problema até mudar a maneira como o Babble carrega seu engine em minha própria branch. Suspeito que tenha a ver com como diferentes ambientes estão tratando o método de @gdpelican para carregar arquivos no inicializador, ou seja,
É difícil identificar exatamente. Talvez eu crie um PR para atualizar o método de carregamento de arquivos do Babble e ver se @gdpelican concorda em mudar isso para o método padrão de plugin do Discourse, usando load com File.expand_path em vez de require com Rails.root.
edição Também adicionei o Babble ao try.thepavilion.io para que você possa testá-lo em um ambiente atualizado a cada 24 horas.
No futuro, se houver um bug crítico no Babble (ou seja, ele não estiver funcionando completamente) e o James não estiver disponível, por favor, marque @angus ou @merefield e nós corrigiremos (ou revisaremos um PR :)).
Eu quis dizer que o parâmetro não é utilizado dentro do método sobrescrito que alteramos. Com base no que você está dizendo, meu código ainda deveria funcionar, pois a chamada ao super apenas passaria o **args, que coleta argumentos nomeados, e isso é mais estável caso outros parâmetros sejam adicionados no futuro. Faz sentido? Ou estou deixando algo passar?
Acabei de fazer um pequeno teste e sua abordagem também parece funcionar para os propósitos imediatos (ou seja, preserva a funcionalidade de readonly_mode). É um pouco estranho conceitualmente quando se pensa nisso, já que teoricamente o **args deveria ser definido antes mesmo de chamar a superclasse. Pessoalmente (e talvez James tenha uma visão diferente), acho que ainda prefiro a forma mais explícita, pois já estamos passando os argumentos implicitamente apenas chamando super; adicionar mais uma camada de implicitismo com **args parece ficar um pouco complexo demais.
Embora eu entenda para onde você quer chegar, no geral, acho que a melhor ação nesses casos é buscar uma maneira explícita de evitar conflitos com o código principal, em vez de recorrer a métodos implícitos de captura geral. Essa abordagem tende a levar a outros problemas mais adiante. Como mencionado acima, eu preferiria que pudéssemos refatorar isso buscando adicionar um novo type_filter na base de código principal. Acredito que seria um bom projeto.
Alguém já integrou com o Memberful e teve o nome real dos usuários aparecendo abaixo do nome da conta no chat?
Gostaria de ocultar o nome real deles, se possível.
Edição: Tenho uma solução temporária: pedir que os membros usem o nome de exibição como nome completo durante o cadastro, ou eu edito manualmente o nome completo deles para corresponder ao nome de exibição após o onboarding.
@angus, você pode ser o assistente do Babble mais disponível neste momento. Então estou te marcando com uma solicitação de atualização de código, embora eu ficaria feliz se qualquer pessoa resolvesse isso.
Acabei de atualizar nossa versão do Discourse para a 2.6.0beta2 (especificamente esta versão do commit no GitHub) e o seletor de emojis está quebrado agora.
@itsbhanusharma ajuda com nossa instalação do Discourse e a ideia inicial dele é que seja um problema de compatibilidade com a atualização do seletor de emojis no núcleo do Discourse.
Problema com o Seletor de Emojis
Ambiente:
Navegador: Firefox ou Chrome (versão mais recente)
Visualização: Desktop, tablet e móvel
Capacidade de Reproduzir o Problema: 100%
@angus ou qualquer outra pessoa que tenha as habilidades técnicas para ajudar com o Babble atualmente – você tem alguma esperança de corrigir os dois problemas que relatei há três semanas nesta resposta no fórum?
Olá @angus, obrigado pelo seu duro trabalho neste plugin!
Meu sistema Discourse funciona com uma URL base de polling personalizado. Como acabei de adicionar o Babble, notei que ele não adiciona nenhum cabeçalho Access-Control (CORS), o que faz com que várias solicitações falhem.
Eu poderia possivelmente escrever uma correção, se você me apontar a direção certa no código.
Após instalar as atualizações mais recentes do Discourse e a versão mais recente do Babble (há alguns dias e novamente ontem para verificar se o problema foi corrigido), estou com problemas ao enviar mensagens, e o indicador de leitura permanece travado mostrando que há novas mensagens.
Agora, quando não consegui enviar uma mensagem, apareceu uma série desses erros no console do navegador:
Uncaught Error: No Reason Phrase
jQuery 13
error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
jQuery 4
_ember_jquery-865569b174cc91f4563f3552f437b32c6eadf9f6c3d49eae02cfe50e5a8c7dfa.js:38573:14
jQuery 13
u self-hosted:1177
error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
jQuery 4