Trechos truncados em 50 caracteres

Eu tinha os trechos de tópicos funcionando como desejava — ou seja, eles respeitavam post_excerpt_maxlength em todos os casos. Primeiro fiz isso com um plugin (que funcionou), depois soube sobre SiteSetting.always_include_topic_excerpts = true e mudei para essa opção. Ainda funcionou.

Há cerca de dois dias, talvez após aplicar a versão 2.4.0.beta4, os trechos começaram a ser truncados em 50 caracteres. Muito misterioso.

Tentei alternar SiteSetting.always_include_topic_excerpts, reinstalar o plugin e alterar o valor de post_excerpt_maxlength, mas nada mudou. Continua travado em 50 caracteres.

Alguém mais está vendo isso? Não sei mais o que tentar.

Isso poderia ser um bug, @neil?

Outro ponto é que isso está afetando apenas os novos tópicos. Tópicos mais antigos com trechos mais longos ainda os mantêm.

Adicionar uma postagem a um tópico desses não encurta o trecho (o que não é surpresa), mas editar a primeira postagem faz com que o trecho seja truncado novamente em 50 caracteres.

Então, embora eu não tenha verificado (sou iniciante no Discourse), parece que os trechos são um campo de banco de dados e o truncamento só ocorre ao atualizar um registro.

LQ

O plugin que você vinculou tem o valor 50 definido de forma fixa:

https://github.com/hnb-ku/discourse-topic-excerpt-plugin/blob/master/plugin.rb#L8

Você pode fazer um fork do plugin e substituir o 50 por SiteSetting.post_excerpt_maxlength, ou o @Johani pode atualizá-lo para você.

Esse plugin não foi atualizado há quase dois anos e foi criado antes da adição da configuração always_include_topic_excerpts. Você não deve usá-lo de forma alguma. Adicionei um aviso de descontinuação e excluirei esse repositório em uma semana ou mais.

Por favor, remova esse plugin desatualizado, ative a configuração always_include_topic_excerpts e nos informe se o problema persistir.

Parece que isso funciona. Fiquei confuso porque, ao aplicar o plugin, obtive os resumos (de 300 caracteres) que eu queria, enquanto antes não tinha nenhum. Acho que apenas os tópicos criados posteriormente exibiam o valor 50 hardcoded.

Um detalhe: Tópicos existentes com resumos de 50 caracteres ainda os mantêm. Parece necessário editar a primeira postagem (OP) desses tópicos para estender seus resumos até post_excerpt_maxlength. Existe alguma maneira de automatizar isso? Obrigado.

LQ

Você precisará reassar as postagens para que elas sigam o novo limite. Mais informações aqui.

Esses comandos são realmente intercambiáveis hoje?

rake posts:rebake

bundle exec rake posts:rebake

Porque a primeira tarefa do rake foi concluída sem problemas, mas não regenerou os trechos. No entanto, o site estava funcionando.

Então tentei com be. Isso terminou com:

rake aborted!
PG::ConnectionBad: FATAL:  Peer authentication failed for user "discourse"

… seguido por um rastreamento de pilha. Agora, as páginas de tópicos estão inacessíveis. A página inicial está acessível, e a maior parte da área administrativa também — embora os gráficos na página inicial da administração não carreguem. Executando …

rake posts:rebake

… não resolve o problema. Eventualmente, reiniciei o droplet, mas a condição persiste. Qualquer ajuda é apreciada.

LQ

Sim, acabei de testar ambos:

$ cd /var/discourse
$ ./launcher enter app
$ bundle exec rake posts:rebake

Rebaking post markdown for 'default'
      297 / 297 (100.0%)
297 posts done!
--------------------------------------------------
$ cd /var/discourse
$ ./launcher enter app
$ rake posts:rebake

Rebaking post markdown for 'default'
      297 / 297 (100.0%)
297 posts done!

e ambos funcionaram sem problemas.

Isso implica que você tem outros problemas. Você seguiu o guia de instalação suportado ao configurar seu site?

Sim. Instalado exatamente conforme descrito em INSTALL-cloud.md.

A única diferença é que a versão é 19.04. Não atualizei nenhum gem manualmente ou algo assim.

Aqui está a saída completa de bundle exec rake posts:rebake --trace:

Não posso afirmar com certeza, mas acho que você pode ter dois problemas separados.

Tente o seguinte para estreitar um pouco mais a investigação:

  • remova qualquer plugin não oficial
  • reconstrua o aplicativo
  • tente o modo seguro e veja se o aplicativo carrega

Você está vendo algum erro no console do navegador nas páginas com problemas?

Removidos os plugins de rodapés e caixas de seleção. Não tenho certeza se são oficiais. Reconstruído. Sem erros no console ao carregar fora do modo seguro. O site está no ar.

Há algum benefício em testar o modo seguro para erros no console? Se não, parece ser um desses plugins.

Sim, são oficiais, mas certifique-se de que você não está usando algum fork. Os plugins oficiais têm um marcador de seleção ao lado de seus nomes no painel de administração

e são hospedados em https://github.com/discourse/.

Acabei de testar ambos na versão mais recente e não consegui reproduzir o problema que você está enfrentando — o site não carregando.

Se não houver erros no modo normal (não seguro), não é necessário verificar isso no modo seguro.

Estou imaginando que os trechos ainda não foram atualizados?

Você verificou your.site.com/logs?

Não, mas é uma instância recente. Vou deixar assim.

Sim, nada de interessante. Estou usando unattended-upgrades e parece que o dpkg pode estar rodando no momento da reconstrução. Não vou me preocupar com isso.

Agradeço a ajuda.

LQ