Estou rodando um site Discourse da maneira do desenvolvedor, sem Docker. Estou executando serviços separados para sidekiq, redis e discourse. Tudo funciona bem.
No entanto, quando instalo um novo plugin (faço um git-clone dele no diretório /plugins, altero as permissões para o usuário www-data ou discourse, não importa, e reinicio os serviços mencionados acima — inclusive reiniciei o servidor), não consigo ver o plugin em /admin/plugins. Nenhum plugin é listado.
Mas, se eu pesquisar em /admin/site_settings por um elemento de um plugin recém-instalado, digamos o plugin chat-integrations, e buscar por “chat”, encontro as configurações desse plugin: “chat integration enabled” e todas as configurações relacionadas. Algumas delas estão habilitadas (marcadas), outras não. Se eu fizer um recarregamento forçado (Ctrl+Shift+R no Linux), esses itens marcados mudam: de repente, por exemplo, o Slack deixa de estar ativado e o Discourse passa a estar, e no próximo recarregamento ocorre o inverso, e assim por diante.
O mesmo acontece com outros plugins, como o discourse-news.
Parece que nenhum plugin está funcionando.
Instalei com sucesso o componente discourse-big-header-little-header, que aparece e funciona corretamente.
Mas o que está errado com os plugins?