Il plugin Yearly Review continua a creare nuovi argomenti

Ciao!

È stata creata una revisione annuale sul mio forum. L’argomento è stato rinominato e poiché il plugin di revisione annuale controlla i titoli identici per sapere se deve crearne uno nuovo, ne ha creato un altro 24 ore dopo.

Ho eliminato quello nuovo e rinominato il primo con il titolo predefinito.

Ma il plugin continua a creare nuovi argomenti dopo 24 ore.

Ecco cosa restituisce il data explorer:

SELECT created_at, title, fancy_title
FROM topics
WHERE title like '%2022%année en cours de révision%'
AND deleted_at IS NULL
ORDER BY created_at DESC
created_at title fancy_title
2023-01-04T14:52:19.345Z 2022 : l'année en cours de révision 2022 : l’année en cours de révision
2023-01-01T10:09:20.503Z 2022 : l'année en cours de révision 2022 : l’année en cours de révision

:information_source: in realtà ne ha creati di nuovi 3 volte, forse a causa di una differenza tra una virgoletta normale e una virgoletta “fancy” [virgolette tipografiche] nel titolo, motivo per cui c’è una differenza di 3 giorni tra le date e solo 2 risultati, ma vorrei conservare solo il primo creato.

Qualche idea sul perché il plugin continui a creare argomenti nonostante ne esista già uno con il titolo predefinito e come impedirglielo? E se lo disabilitassi e riabilitassi alla fine del 2023? Creerebbe un argomento 24 ore dopo averlo riabilitato?
Inoltre, non sarebbe la soluzione più elegante, quindi vorrei sapere esattamente da dove proviene il problema :thinking:

Disabiliterò il plugin per i prossimi giorni/settimane finché il problema non sarà identificato e non verranno impedite le creazioni di nuove revisioni annuali.

1 Mi Piace

Hai anche cambiato l’autore in un utente diverso?
Il codice cerca un argomento con quel titolo creato dall’utente di sistema.

1 Mi Piace

Ciao!
Sono il co-admin. Ho solo cambiato il nome. Non ho cambiato l’autore.
Cosa succede se ci sono 2 argomenti con lo stesso nome e l’utente di sistema come autore? Prenderebbe l’ultimo?

1 Mi Piace

Non ne “prende” uno, controlla se esiste un argomento del genere e, in caso contrario, ne creerà uno.
Se ce ne sono uno o due (o 999) non ne creerà uno nuovo.

2 Mi Piace

Quindi, c’è qualcosa che non va da qualche parte perché continua a creare nuovi argomenti mentre uno esiste già :thinking:

1 Mi Piace

Come ha detto @Maxence_C, è stato modificato solo il titolo, quindi l’autore è ancora @system.

Per quanto ne so, questa condizione è soddisfatta. :person_shrugging:

3 Mi Piace

Hai aggiornato yearly_review.topic_title, o hai solo rinominato l’argomento?

1 Mi Piace

Abbiamo appena rinominato il titolo del primo argomento della revisione annuale e poi l’abbiamo rinominato di nuovo al valore predefinito più di 24 ore dopo la sua creazione.
Non abbiamo modificato yearly_review.topic_title.

3 Mi Piace

Se il titolo dell’argomento corrisponde esattamente al titolo impostato al momento della pubblicazione iniziale, la pubblicazione di nuovi argomenti di revisione dovrebbe essere impedita da questa riga:

return if Topic.where(user: Discourse.system_user, title: title).exists?

A meno che la causa del problema non sia che il titolo non corrisponde esattamente, forse il problema è correlato alla pubblicazione dell’argomento in francese. Sarebbe utile sapere cosa viene impostato come title qui quando viene eseguito il job:

title = I18n.t("yearly_review.topic_title", year: review_year)

Mi chiedo se stia cercando di confrontare il titolo inglese con il titolo francese. Il francese è la lingua predefinita sul tuo sito?

Modifica: se l’argomento viene pubblicato con un titolo francese, allora title nel codice sopra deve essere impostato in francese. Quindi è improbabile che sia la causa del problema.

4 Mi Piace

Sono identici, a meno che non mi sia sfuggita una piccola differenza nei due argomenti restituiti da data explorer. Posso fornire altri dati se necessario.

Dovrei eseguirlo nella console rails o altrove?

Sì, lo è.


Riabiliterò il plugin per controllare di nuovo se riesco a raccogliere maggiori informazioni sulla prossima recensione annuale creata (se ce ne sarà una).

2 Mi Piace

Bene, ho attivato manualmente il job e ha creato un argomento. Attivandolo di nuovo non verrà creata una nuova revisione annuale.

Potrei spostare le risposte dal primo argomento al nuovo ed eliminare il primo, e questo dovrebbe aggirare il problema.

Ma sono molto curioso di sapere cosa succede qui e perché i requisiti sembrano non essere soddisfatti nonostante ciò che vedo nel database.

1 Mi Piace

Anch’io. Non sono sicuro di cosa stia succedendo, ma sembra che questo controllo per un argomento esistente sia un po’ inaffidabile:

return if Topic.where(user: Discourse.system_user, title: title).exists?

Mi chiedo se qualcuno del team Discourse abbia idee su come migliorarlo.

Dover disabilitare il plugin per evitare la creazione di argomenti multipli non è un ottimo approccio. Il plugin carica del CSS che viene utilizzato per stilizzare i suoi argomenti. Se il plugin è disabilitato, non credo che il CSS venga caricato.

2 Mi Piace

Solo una nota: il plugin è stato aggiornato con la nuova traduzione in francese, quindi oggi ha creato un’altra nuova recensione annuale :sweat_smile:
Ho copiato il titolo di questo nuovo argomento, l’ho eliminato e ho rinominato quello originale incollando il titolo.
Vedremo se domani creerà un nuovo argomento nonostante il mio copia-incolla del titolo grezzo.

3 Mi Piace

Grazie per aver dato seguito a questa questione. Affidarsi al titolo dell’argomento per evitare la creazione di più argomenti di revisione è un approccio davvero inaffidabile (è colpa mia). Una volta terminato gennaio, il problema non si ripresenterà fino all’anno prossimo. @JammyDodger, forse potresti passare una nota al team di Discourse per studiare un modo migliore per prevenire la creazione di argomenti multipli. Dovrebbe essere fatto prima di gennaio 2024. Il tempo vola :slight_smile:

9 Mi Piace

Penso di poterlo fare. :slight_smile: :+1:

5 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Solo un piccolo aggiornamento, penso che questo dovrebbe essere risolto da: :partying_face:

1 Mi Piace