Dopo l’aggiornamento recente alla versione 2.6.0.beta3, alcune risposte in vari thread vengono visualizzate in ordine errato. I timestamp sono corretti, ma le risposte interessate appaiono sempre in fondo al thread.
Ho provato ad aggiornare nuovamente ed eseguire rake posts:reorder_posts sui thread interessati, ma senza alcun effetto. C’è qualcosa altro che posso fare per farle riordinare correttamente? O si tratta di un bug in Discourse? I post vengono visualizzati allo stesso modo per tutti gli utenti.
Un esempio da uno dei thread, ecco la parte inferiore del thread:
Nel tentativo di ricreare manualmente il task rake, ho eseguito:
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
Questo spiega perché il task rake non fa nulla: pensa che non ci sia nulla da fare… Il task rake ha un’ulteriore condizione where che confronta post_number con new_post_number, e non sort_order.
Ora ho eseguito manualmente sul database:
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
Neanch’io capisco, non ho trovato alcuna ragione a riguardo esaminando il codice. Sembra che qualcosa modifichi l’ordine di ordinamento, ma non riesco a vedere cosa.
Pensavo che si fossero disordinati quando ho eseguito un aggiornamento, poiché i messaggi disordinati erano generalmente molto più vecchi e in precedenza apparivano in un punto previsto. Quando ho eseguito il SQL sopra, sembrava tutto a posto, ma poi l’altra settimana anche un paio di nuovi post sono apparsi disordinati. Credo che i post interessati siano sempre risposte a un altro post. Ad esempio:
Ho lo stesso problema. In passato ho riscontrato errori 502 quando spostavo i post a causa di topic lunghi; non sono sicuro che abbia a che fare con questo. Ho anche installato il plugin per le domande e risposte, ma vedo ancora i post apparire in fondo ai topic dopo averlo disabilitato.
Molto probabilmente, questo non è un plugin realmente supportato o ufficiale; l’ordine di ordinamento (sort_order) viene utilizzato in modo incoerente nel core di Discourse e stiamo valutando di rimuovere questa colonna.
Sposto questo messaggio in Support perché lo considero un bug in un plugin non ufficiale.
@angus Puoi dare un’occhiata a questo problema? Ho installato questo plugin e le risposte sono iniziate ad apparire in ordine sbagliato per tutto il sito. Ho appena rimosso il plugin, ma le risposte continuano ad apparire in ordine sbagliato.
Ho eseguito un test su un singolo post per verificare se il seguente comando correggesse le risposte fuori ordine in un post (dopo aver rimosso il plugin Q&A).
rake posts:reorder_posts[1896]
Purtroppo i post continuano a essere visualizzati in ordine errato.
Ciao, ci dispiace che tu abbia riscontrato questo problema. Per favore, pubblica eventuali aggiornamenti qui: Question Answer Plugin. @mbcahyono o io risponderemo a breve. Questa non è una domanda generica di supporto per Discourse.