Sopprimi ping utente nei post importati

Stiamo importando un sacco di post e il contenuto contiene spesso testo come @global o simili (l’argomento della nostra istanza di discourse è correlato alla programmazione e @ è un simbolo in quella lingua).

C’è un modo pulito e ordinato per sopprimere il ping degli utenti? Non mi dispiace pre-elaborare i post prima dell’importazione.

Come sorta di sporco workaround, ho scoperto che inserire un tag bbcode vuoto dopo @ funziona (come @[b][/b]global). Non sembra una soluzione molto buona e richiederebbe di analizzare/tokenizzare il markdown, poiché il bbcode non dovrebbe essere inserito se la stringa si trova all’interno di un blocco di codice. Quindi non è una buona soluzione. Anche uno spazio a larghezza zero non è una soluzione poiché porterebbe a strani errori quando gli utenti copiano lo snippet di codice nel proprio codice sorgente.

Se è in un blocco di codice non è un problema. Se riesci ad assicurarti che sia sempre in un blocco di codice, sei a posto. Devi eseguire un vero parser per sapere quando sei in un blocco di codice, però.

Oh, oppure disattiva l’impostazione Consenti agli utenti di menzionare altri utenti durante l’importazione dei dati.

1 Mi Piace

Certo, se il @name è in un blocco di codice allora non è un problema. Il problema è rilevare quando lo è e quando non lo è, in modo da poter impedire il ping al di fuori dei blocchi di codice inserendo il tag invisibile [b][/b] tra @ e name. Richiederebbe effettivamente un parser/tokenizer markdown completo.

Hmm, si applica ancora anche quando il post viene successivamente ri-forgiato o porterebbe a ping casuali in quell’evento?

Sono abbastanza sicuro che quando vengono rielaborati, viene utilizzato un interruttore per evitare bump e menzioni, ma non ho mai controllato il codice né l’ho provato.

Non vedo nulla che impedisca i ping, le modifiche vengono pubblicate direttamente sui client per quanto ne so (ma non sono affatto un esperto di ruby o di discourse, quindi per favore correggimi se sbaglio):

Penso che questo

Penso che bypass bump impedisca anche ai mentori di ripetersi, ma un trigger post process ha

`new_post: false,`

Quindi penso che tu sia al sicuro.

2 Mi Piace

Ottimo punto, mi era sfuggita quella parte! Perfetto, farò così :sparkles:

1 Mi Piace

E può darsi che gli script di importazione lo impostino già. Non credo che un’importazione causi un milione di notifiche.

2 Mi Piace

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