Discourse Resolvido

Na página inicial, em “Top”, “Hot”, “Latest”, etc., como posso adicionar “Unsolved”?

Você pode usar o componente Custom Top Navigation Links para adicionar links personalizados ao lado daqueles configurados nas configurações do site. Para filtrar a lista de tópicos para tópicos não resolvidos, você pode adicionar solved=no. Por exemplo \u003chttps://meta.discourse.org/?solved=no\u003e

6 curtidas

Encontrando o mesmo erro de plugin incompatível mencionado acima, mas estamos usando a versão oficial:

[detalhes=“Logs”]

********************************************************
*** Por favor, seja paciente, os próximos passos podem demorar um pouco ***
********************************************************
Cycling Unicorn, para liberar memória
Reiniciando unicorn pid: 551
Aguardando o recarregamento do Unicorn.
Aguardando o recarregamento do Unicorn..
Aguardando o recarregamento do Unicorn...
Aguardando o recarregamento do Unicorn....
Aguardando o recarregamento do Unicorn.....
Aguardando o recarregamento do Unicorn......
Aguardando o recarregamento do Unicorn.......
Parando 3 trabalhadores do Unicorn, para liberar memória
Parando fila de jobs para recuperar memória, pid mestre é 3004191
$ cd /var/www/discourse/plugins/docker_manager && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/docker_manager && git reset --hard HEAD@{upstream}
HEAD agora está em 930ec25 DEV: Ativar specs de fumaça novamente
$ bundle install --retry 3 --jobs 4
Bundle completo! 146 dependências Gemfile, 189 gems agora instaladas.
Gems nos grupos 'test' e 'development' não foram instalados.
Gems empacotados estão instalados em `./vendor/bundle`
3 gems instaladas que você depende diretamente estão procurando por financiamento.
  Execute `bundle fund` para detalhes
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
Escopo: todos os 17 projetos de workspace
Arquivo de bloqueio atualizado, passo de resolução foi ignorado
Já atualizado

```Concluído em 3.2s
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
verificando a versão compatível do discourse-calendar: 8d09cf8503b78f4c72b47a7319c0f4b9ad0247e7
HEAD está agora em 8d09cf8 DEV: atualização das regiões (#717)
verificando a versão compatível do discourse-reactions: f87583d9054421869ba0de16c24ad15e32bbebe7
HEAD está agora em f87583d DEV: Adicionar especificação do sistema para verificar se os recursos principais estão funcionando bem (#361)
verificando a versão compatível do discourse-solved: 4f0234f5be3aaa77db277e0f224cd9750d2713cd
HEAD está agora em 4f0234f DEV: Adicionar especificação do sistema para verificar se os recursos principais estão funcionando bem (#357)
discourse-spoiler-alert já está na versão compatível mais recente
docker_manager já está na versão compatível mais recente
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
	81: de /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:em `<main>`
	80: de /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:em `load`
	79: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:20:em `<top (required)>`
	78: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:em `with_friendly_errors`
	77: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:28:em `block in `<top (required)>`
	76: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:em `start'
	75: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:em `start'
	74: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:em `dispatch'
	73: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:em `dispatch'
	72: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:em `invoke_command'
	71: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:em `run'
	70: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:em `exec'
	69: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:em `run'
	68: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:em `kernel_load'
	67: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:em `load'
	66: de /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:em `<top (required)>`
	65: de /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:em `load'
	64: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:em `<top (required)>`
	63: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:80:em `run'
	62: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:214:em `standard_exception_handling'
	61: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:83:em `block in run'
	60: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:132:em `top_level'
	59: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:147:em `run_with_threads'
	58: de /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:em `block in top_level'
	...
3 curtidas

Para que conste, tenho o plugin Solved instalado e atualizei hoje mais cedo pela interface e correu tudo bem. :+1:


Deveria ter verificado antes de postar… :slight_smile: Parece que há um novo commit para Solved que foi adicionado entretanto. Deixe-me fazer uma reconstrução pela linha de comando apenas para verificar e confirmar que tudo corre bem.

ETA: @Frully A minha reconstrução (incluindo Solved) foi bem-sucedida :partying_face:

2 curtidas

Para acrescentar ao que o Jam disse. Eu também não tive problemas com o Solved

Se esta for a primeira vez que você instalou o Solved, verifique se o seu endereço do GitHub está correto.

Se puder, também compartilhe se está executando o Stable ou o Teste Recomendado que passou

Se puder postar uma parte da seção de plugins do seu app.yml, talvez ajude também.

2 curtidas

Obrigado a ambos por verificarem. Agora que está atualizado, me sinto mais seguro ao reabilitar o plugin. Avisarei quando tiver tempo para testar e registrar os resultados.

3 curtidas

Ainda estamos sofrendo com este problema (embora, como ninguém mais parece ter relatado, estou começando a me perguntar se somos apenas nós?)

Investigando um pouco mais, descobri que adicionar um padding-top e padding-bottom de 15px à classe CSS topic-statuses contorna o problema. Espero que um mantenedor do plugin consiga corrigir isso de forma mais permanente.

3 curtidas

Eu acho que isso está conectado a Discourse Tooltips. Não são apenas as caixas não resolvidas no seu site, mas também quaisquer pinos e cadeados.

Eu acho que existem alguns outros relatos também:

5 curtidas

Desde que atualizamos o discourse, os webhooks de respostas resolvidas estão invertidos.

Se eu resolvo um tópico, o webhook é enviado assim:

    "can_accept_answer": true,
    "can_unaccept_answer": false,
    "accepted_answer": false,
    "topic_accepted_answer": null

e se eu desmarco a resposta, é o contrário

:partying_face: Este plugin agora está incluído no core do Discourse como parte de Bundling more popular plugins with Discourse core. Se você auto-hospeda e usa o plugin, precisa removê-lo do seu app.yml antes da sua próxima atualização.

3 curtidas

Está com erro na última versão do discourse

Preciso desabilitar isso para rebuild app (discourse)

Agora está incluído no core

3 curtidas

Início > As postagens na categoria mostrarão tópicos resolvidos como tópicos não resolvidos

Preciso de outras configurações?

1 curtida

É possível adicionar uma entrada em Filtros avançados na área de pesquisa do Discourse para mostrar apenas os não resolvidos?

você pode usar /filter e in:solved / in:unsolved

3 curtidas

Meu entendimento é que podemos usar o “first_accepted_solution” acionável do Solved ao criar uma automação. Uma automação com esse gatilho seria executada apenas uma vez para cada tópico que for resolvido ou é a primeira solução aceita de um usuário e não um tópico? Não tenho certeza se a pergunta faz sentido, desculpe.

“First-accepted-solution” é acionado pela primeira vez que a postagem de um usuário é selecionada como solução de qualquer tópico.


Você pode, por exemplo, usá-lo para agradecer a um usuário por ajudar alguém pela primeira vez que ele o fez.

Olá @Moin,

Muito obrigado pelo esclarecimento, faz sentido.

Pergunta de acompanhamento: existe algum gatilho “accepted-solution” ou apenas “first-accepted-solution”?

Raciocínio: Eu gostaria de criar uma automação personalizada que crie um Post toda vez que um Tópico for Resolvido (um Post é marcado como solução).

Eu tentei com o “first-accepted-solution”, mas ele só funciona uma vez, como posso ver agora, é esperado. Alguma recomendação ou ideia?

Sem saber o que você quer fazer com essa postagem ou por que você a precisa, é um pouco difícil sugerir algo útil para você.
Você simplesmente quer saber sobre postagens marcadas como solução?

Então você poderia usar uma consulta no explorador de dados e o script “Agendar uma postagem em um tópico com resultados do explorador de dados”. Você poderia, por exemplo, executar uma consulta que retorna as soluções dos últimos 10 minutos a cada 10 minutos. Eu acho que você também poderia executá-la com mais frequência, mas não tenho certeza do quanto isso adiciona ao servidor. Mas mesmo que você a executasse a cada minuto, você não necessariamente obteria uma postagem para cada solução. Talvez haja 2 tópicos resolvidos dentro do minuto. Além disso, a postagem resultante só pode ser personalizada em extensão limitada. (Claro, você pode personalizar os textos usados como qualquer outro texto, mas deve ter em mente que terá que fazer isso para cada postagem que for alterada por automação com este script. Portanto, não funciona realmente se você quiser ser muito individual.)

Exemplo simples de uma postagem criada por essa automação

O conteúdo da tabela depende da consulta. É possível expandir a consulta, por exemplo, para exibir um link para o tópico ou a solução. Eu a mantive simples para demonstrar como o recurso funciona em geral.

A consulta que usei
SELECT
  dst.created_at AS solution_accepted_at,
  dst.topic_id,
  dst.answer_post_id,
  dst.accepter_user_id
FROM discourse_solved_solved_topics dst
WHERE dst.created_at >= NOW() - INTERVAL '10 minutes'
ORDER BY dst.created_at DESC
1 curtida

Olá @Moin,

Muito obrigado pela sua resposta :slight_smile:

É ótimo, testei e fiz funcionar - graças à sua resposta:

Além disso, ainda não é o que eu estava procurando.
Desculpe se não fui claro na minha pergunta anterior.

O que estou tentando fazer é criar uma Automação que crie uma postagem (de um usuário do sistema) toda vez que um Tópico for resolvido. Neste Tópico, a Postagem recém-gerada conterá uma pesquisa (a pesquisa será o markdown das Pesquisas do Discourse).