I membri di Maker Forums apprezzano davvero la possibilità di avere più reazioni con emoji. Saremmo molto dispiaciuti di perderla in una migrazione nel caso in cui Retort diventasse non più mantenuta.
Retort continuerà a essere mantenuto da Pavilion.
@Ahmed_Gagan, hai qualche opinione su quanto segue?
Per una reazione di risposta con priorità, puoi usare
SiteSetting.post_undo_action_window_mins = massimo minuti consentiti
ReactionManager.new(first_retort_reaction_at_priority, by_user, Guardian.new(by_user), post).toggle!
Questo gestirà tutto: rimuoverà il like se l’utente ha già messo like al post e aggiungerà una reazione.
Sì, potrei farlo. Sarebbe però un po’ un workaround ![]()
Non sono sicuro che questo espediente rimanga valido nel tempo. È anche un po’ rischioso. Ad esempio, se eseguo semplicemente quel codice, l’impostazione del sito post_undo_action_window_mins dell’utente rimarrebbe modificata. Potresti reimpostarla alla fine della migrazione, ma apportare modifiche alle impostazioni in questo modo al volo per aggirare un guardian non è ideale.
L’ideale sarebbe apportare una leggera modifica all’interfaccia di ReactionManager per rendere possibile migrare in modo affidabile i retorts nelle reactions. Attualmente è configurata solo per gestire le richieste dal client.
Un modo per farlo sarebbe:
- astrarre il guardian in
toggle!in un metodoensure_can_toggle - rendere il metodo
ensure_can_togglesoggetto a un’opzioneforce
Questo è l’approccio tipicamente adottato per gestire migrazioni o importazioni backend in altre parti di Discourse (se cerchi force in app/ o lib/ troverai alcuni esempi).
Ha senso?
Credo che non sia necessario utilizzare l’impostazione qui, poiché non stiamo modificando i ‘like’ già creati sul post. Questo significa che stiamo creando nuove reazioni al post. In questo caso, guardian.can_delete_reaction_user? sarà sempre vero. A mio avviso, utilizzare semplicemente ReactionManager.toggle è sufficiente per questo scopo.
Discourse fa molto con i Mi piace, come limitare il numero di Mi piace in base al livello di fiducia e assegnare badge alle persone in base ai Mi piace ricevuti.
Aggiungere una reazione aumenta anche il conteggio dei Mi piace per entrambi gli utenti e gli argomenti?
Potresti chiedere separatamente come questo interagisce con il nuovo plugin ufficiale Discourse Reactions
Tuttavia, Retort (che consente multiple reazioni per post per utente, a differenza del plugin Discourse Reactions) non interagisce affatto con i livelli di fiducia e i badge relativi ai Mi piace.
@gdpelican questo è un repost da https://meta.discourse.org/t/reaction-emoji-seem-to-have-no-verification/189108, poiché sembra che le reazioni non facciano parte di Discourse, lo riposto qui:
Penso di aver scoperto un bug, ma non ho una riproduzione adeguata; tuttavia, posso mostrare facilmente degli esempi del problema e credo che la mia teoria possa essere corretta.
Ecco il problema: è possibile aggiungere emoji inesistenti alle reazioni dei post. Ciò risulta in reazioni :whateverYouWant: nei post.
Puoi vedere un esempio di ciò sul forum di Manjaro, dove ho notato che i post di un utente specifico spesso contengono queste emoji inesistenti. Dopo avergli fatto alcune domande, ho concluso che sta utilizzando una sorta di estensione di traduzione automatica nel suo browser, che probabilmente traduce le emoji :code: nella sua lingua. Purtroppo non ho ricevuto una risposta da questo utente per conoscere esattamente la sua configurazione nel browser. A sostegno della mia teoria, puoi notare che quando ha citato qualcuno nel thread collegato di seguito, la sua citazione conteneva la traduzione del messaggio originale.
Vedi questo messaggio/thread sul forum di Manjaro:
Vedi un esempio nelle reazioni: il problema è chiaramente visibile con tutte le reazioni corrette accanto a quella non valida:
Sembra quindi che un utente possa inviare emoji inesistenti attraverso il processo di mancata verifica del codice emoji.
Ho aggiornato questo plugin per funzionare con l’ultimo codice di Discourse.
@th21 Ho anche aggiornato la struttura HTML di Retort per accogliere meglio le lunghe liste di retorti, in particolare su dispositivi mobili.
Grazie, funziona!
Credo che il contenitore delle risposte dovrebbe essere posizionato sopra o sotto la barra degli strumenti, preferibilmente sopra; questo ci lascia molto più spazio per lavorare dal punto di vista CSS.
È possibile utilizzare data explorer o console per trovare l’elenco degli emoji più utilizzati?
Stavo guardando la tabella plugin_store_rows ma non ho trovato nulla di utile.
Ciao, la tooltip con cui gli utenti hanno reagito con le repliche è ora interrotta su mobile. Ho provato a modificare lo z-index ma non sono riuscito a risolverlo con CSS personalizzato. Qualcuno potrebbe dare un’occhiata?
Questo plugin è end-of-life. Si prega di utilizzare il plugin Reactions.
Discourse Reactions è un cattivo sostituto per una ragione fondamentale: limita le reazioni a una per post. Questa è una drastica riduzione dell’utilità delle reazioni rispetto a Retort, che consente alle persone di dare più reazioni allo stesso post.
Vorrei davvero che Retort venisse mantenuto per questo motivo. La soluzione migliore sarebbe aggiornare Discourse Reactions per consentire più reazioni.
L’altro grande deficit è che Retort ti permette di selezionare tra tutte le emoji disponibili mentre devi definire un set di emoji per le reazioni di Discourse. Se le reazioni di Discourse avessero entrambe queste funzionalità, abbandonerei volentieri Retort, ma finché non le avrà i miei utenti non saranno felici se gli dicessi che perderanno l’accesso al 95% delle reazioni emoji.
C’è un argomento Feature che mostra delle promesse…
Sì, se tutto questo fosse implementato, penso che potrei convincere facilmente la mia base di utenti a migrare. È solo un peccato dover ritirare l’alternativa prima che questa sia completamente disponibile.

