Após atualizar recentemente para a versão 2.6.0.beta3, algumas respostas em vários tópicos estão aparecendo na ordem errada. Os carimbos de data/hora estão corretos, mas as respostas afetadas sempre aparecem no final do tópico.
Tentei atualizar novamente e executar rake posts:reorder_posts nos tópicos afetados, mas isso não teve nenhum efeito. Há mais alguma coisa que eu possa fazer para fazê-las reordenar corretamente? Ou isso é um bug no Discourse? As mensagens são exibidas da mesma forma para todos os usuários.
Um exemplo de um dos tópicos, aqui está o final do tópico:
Executar a consulta a partir de posts:reorder_posts mostra que o sort_order de vários posts está estranho, e parece que o rake deveria atualizá-los, mas não o faz.
Ao tentar recriar manualmente a tarefa rake, executei:
WITH ordered_posts AS (
SELECT
id,
ROW_NUMBER() OVER (
PARTITION BY
topic_id
ORDER BY
created_at,
post_number
) AS new_post_number
FROM
posts
/*where*/
)
SELECT
p.post_number,
p.sort_order,
o.new_post_number
FROM
posts AS p, ordered_posts AS o
WHERE
p.id = o.id
O que mostra por que a tarefa rake não faz nada — ela acha que não há nada a fazer… A tarefa rake tem um where adicional comparando post_number com new_post_number, e não sort_order.
Agora executei manualmente no banco de dados:
WITH ordered_posts AS (
SELECT
id,
ROW_NUMBER() OVER (
PARTITION BY
topic_id
ORDER BY
created_at,
post_number
) AS new_post_number
FROM
posts
/*where*/
)
UPDATE
posts AS p
SET
sort_order = o.new_post_number
FROM
ordered_posts AS o
WHERE
p.id = o.id AND
p.sort_order <> o.new_post_number
Eu também não entendo. Não consegui encontrar nenhuma razão para isso ao examinar o código. Algo parece estar modificando a ordem de classificação, mas não consigo ver o que.
Eu achei que eles tivessem ficado fora de ordem quando executei uma atualização, já que as mensagens que estavam fora de ordem eram geralmente muito mais antigas e anteriormente apareciam em um local esperado. Quando executei o SQL acima, tudo parecia bem, mas na semana passada, algumas postagens totalmente novas também apareceram fora de ordem. Acredito que as postagens afetadas são sempre respostas a outra postagem. Por exemplo:
Tenho o mesmo problema. Já tive erros 502 ao mover posts devido a tópicos longos; não sei se isso tem alguma relação. Também tenho o plugin de perguntas e respostas instalado, mas ainda vejo posts aparecendo no final dos tópicos mesmo depois de desativá-lo.
Muito provavelmente, isso não é realmente um plugin suportado ou oficial. A ordem de classificação (sort_order) é usada de forma inconsistente no núcleo do Discourse, e estamos considerando remover essa coluna.
Movendo isso para Support, pois vejo isso como um bug em um plugin não oficial.
@angus Você pode dar uma olhada nesse problema? Instalei esse plugin e as respostas começaram a aparecer fora de ordem em todo o site. Acabei de remover o plugin e as respostas continuam aparecendo fora de ordem.
Oi, desculpe que você tenha enfrentado esse problema. Por favor, poste qualquer atualização sobre isso em Question Answer Plugin. @mbcahyono e/ou eu responderemos em breve. Esta não é uma pergunta geral de suporte ao Discourse.