Grazie, sì, questo è un comportamento strano di Popper, la libreria utilizzata dal selettore di emoji per il posizionamento. Ho aggiornato l’utilizzo di Popper per risolvere il problema.
Prima di tutto, un enorme grazie a @angus
per aver assunto questo plugin, è stato uno dei nostri preferiti per un bel po’ di tempo.
Ho aggiornato all’ultima versione e sembra che rompa i messaggi privati (PM).
Uncaught TypeError: Cannot read property 'map' of undefined
at _retort-2c5f89abb14744b92588a2ea05689cf5f5fe97d5b9094543abfacf0b1281182f.js:57
at _application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82147
at Array.map (<anonymous>)
at h (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82146)
at i.html (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:78359)
at i.value (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82625)
at i.value (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82345)
at s (_vendor-66c7c54e4c3d88ab9a314688832cc04210ab4ae3401f48fb186a7134473d0d0a.js:20534)
at t.exports (_vendor-66c7c54e4c3d88ab9a314688832cc04210ab4ae3401f48fb186a7134473d0d0a.js:20521)
at e (_vendor-66c7c54e4c3d88ab9a314688832cc04210ab4ae3401f48fb186a7134473d0d0a.js:19890)
_retort-2c5f89abb14744b92588a2ea05689cf5f5fe97d5b9094543abfacf0b1281182f.js:368 Uncaught TypeError: Cannot read property 'toString' of undefined
at t.disabledFor (_retort-2c5f89abb14744b92588a2ea05689cf5f5fe97d5b9094543abfacf0b1281182f.js:368)
at _retort-2c5f89abb14744b92588a2ea05689cf5f5fe97d5b9094543abfacf0b1281182f.js:51
at _application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82147
at Array.map (<anonymous>)
at h (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82146)
at i.html (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:78359)
at i.value (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82625)
at i.value (_application-95c62ce5b40d9a86771813c87729bec8a97a85040e9142c1de823499c05122ad.js:82345)
at s (_vendor-66c7c54e4c3d88ab9a314688832cc04210ab4ae3401f48fb186a7134473d0d0a.js:20534)
at t.exports (_vendor-66c7c54e4c3d88ab9a314688832cc04210ab4ae3401f48fb186a7134473d0d0a.js:20521)
Grazie, oggi abbiamo ricevuto una PR che rimuove lodash, un’altra deprecazione.
Dovrebbe essere risolta ora:
Aggiornate e fatemi sapere come va.
Sembra che ora funzioni bene, grazie mille! ![]()
Abbiamo applicato questo CSS per migliorare l’aspetto delle cose per noi
Desktop
.emoji-picker.has-limited-set img.emoji {
width: 40px !important;
height: 40px !important;
}
.post-retort {
margin: 0px 2px;
}
.emoji-picker.has-limited-set .limited-emoji-set {
flex-wrap: wrap;
}
.emoji-picker {
min-height: 80px;
max-width: 400px;
}
Mobile
.emoji-picker.has-limited-set .limited-emoji-set {
flex-wrap: wrap !important;
}
.emoji-picker {
min-width: 100% !important;
}
Ho appena ricostruito Discourse per aggiornare il plugin. Ma ora manca l’icona del plugin e anche tutti i miei componenti del tema. Non so se c’entri qualcosa, ma ho questo messaggio nella console del browser:
Modifica: dopo aver disattivato Retort, tutti i componenti del tema sono ricomparsi, quindi sembra davvero che ci sia una connessione.
Sto riscontrando questo errore molto frequentemente sul mio sito e dopo un po’ l’intero sito diventa lento e con lag per me.
In modalità sicura tutto funziona correttamente, il sito è veloce e reattivo.
Utilizzo Google Chrome: Versione 85.0.4183.83 (Build Ufficiale) (64-bit)
L’Errore:
Uncaught TypeError: Cannot read property 'map' of undefined
at retort-11c49191cf3e1f7f570d8808ade67b5d7fcfdfe612b792c49f064baacdebadc7.js:1
at application-acabe31b416e73071c4f82b77bdadcf4a5fc525109638830baeeacd14e3a3656.js:1
at Array.map (<anonymous>)
at h (application-acabe31b416e73071c4f82b77bdadcf4a5fc525109638830baeeacd14e3a3656.js:1)
at i.html (application-acabe31b416e73071c4f82b77bdadcf4a5fc525109638830baeeacd14e3a3656.js:1)
at i.value (application-acabe31b416e73071c4f82b77bdadcf4a5fc525109638830baeeacd14e3a3656.js:1)
at i.value (application-acabe31b416e73071c4f82b77bdadcf4a5fc525109638830baeeacd14e3a3656.js:1)
at s (vendor-bf8061112a1b547c1b596d16d89c9a42af976a43984f9eacd40a8c690c0f30b2.js:1)
at t.exports (vendor-bf8061112a1b547c1b596d16d89c9a42af976a43984f9eacd40a8c690c0f30b2.js:1)
at e (vendor-bf8061112a1b547c1b596d16d89c9a42af976a43984f9eacd40a8c690c0f30b2.js:1)
if (!v.default.disabledFor(e))
return v.default.storeWidget(r),
o.retorts.map(function(e) { <<<<< ERRORE SU QUESTA RIGA
var t = e.usernames
, i = e.emoji;
return r.attach("retort-toggle", {
post: o,
usernames: t,
emoji: i
})
Alcuni problemi CSS e come li ho risolti per il nostro uso personale
Desktop
Il primo non è tanto un problema, ma potrebbe esserlo: raramente abbiamo così tante risposte su un post, ma dovresti sapere che se superi le 8 risposte, i controlli del post si romperanno.

Ecco com’è con 8 risposte, sembra ottimo.

CSS utilizzato per Desktop
.post-retort {
margin: 0px 2px;
border: 1px solid #333;
border-radius: 5px;
padding: 3px;
background-color: #666;
}
Telefono: iPhone SE Gen1
Mobile
Il numero massimo di risposte al momento su mobile senza rompere i controlli del post, almeno utilizzando uno schermo più piccolo, è 1.
Con più di una risposta, i controlli del post vengono spostati fuori dallo schermo.
Ecco com’è con le nostre modifiche CSS.
CSS per Mobile
.post-retort {
border: 1px solid #333;
border-radius: 5px;
padding: 3px;
background-color: #666;
margin: 2px 2px;
float: none;
}
Puoi ottenere lo stesso aspetto su Desktop che su Mobile utilizzando il CSS per Mobile sopra; questo posizionerà le risposte sopra i controlli del post.

Amiamo questo plugin e viene utilizzato molto sul nostro forum, grazie per averlo accettato @angus ![]()
Anche io ricevo questo errore. I componenti del mio tema funzionano ancora, ma il selettore di risposta non è visibile in nessun punto (poiché il JS si è rotto).
Abbiamo aggiornato il nostro Discourse alla versione 2.5.1 e poi installato questo plugin per la prima volta.
In qualche modo sono riuscito a risolvere il problema ricostruendo l’app oggi.
Forse puoi provare anche tu da parte tua?
Anche io sono sulla versione stabile (2.5.1).
Sì, ho segnalato il problema sul loro tracker delle issue di GitHub ed è stato risolto il giorno dopo, molto bene ![]()
Ciao a tutti, ci piace molto questo plugin, ma dopo l’ultimo aggiornamento stiamo vedendo emoji con la pelle bianca invece di quelle gialle neutre nel nostro forum della community.
Non abbiamo modificato alcuna impostazione. Questa è la nostra configurazione attuale:
È previsto questo comportamento? Si può modificare?
Grazie!!
Ciao a tutti,
sono nuovo su Discourse. Ho installato Discourse dal codice sorgente su GitHub ed è già online.
Oggi ho installato Retort e posso vedere nell’area Amministratore > Plugin che il nuovo plugin Retort è presente e attivato.
Quando ho creato un nuovo argomento e l’ho visualizzato con un altro account, sperando di poter usare il nuovo plugin Retort, non riesco però a vedere il pulsante previsto…
Sono tornato nell’area Amministratore e ho confermato che le opzioni del plugin sono state impostate come descritto nel manuale. Vedere l’immagine sottostante.
Poiché posso pubblicare solo un’immagine qui, ho unito tutte e tre le immagini in un’unica foto.
Quindi, vi chiedo gentilmente di aiutarmi a capire cosa non va. Qualsiasi suggerimento è apprezzato. Grazie mille in anticipo.
Non è previsto, no. Darò un’occhiata nel weekend.
@kchang Potresti aprire la console web (How can I open the browsers console? – Mailster Knowledge Base) e verificare se ci sono eccezioni relative a questo o ad altri plugin o temi che hai installato (copia e incolla qui eventuali righe rosse dalla console, nascondendole in una scheda “Nascondi dettagli” se sono lunghe).
Ciao @angus,
Grazie mille per la tua risposta. Ho notato diverse righe rosse nella console; ti allego sotto uno screenshot da Opera ogni volta che accedo a un post.
Sembra che ci sia un problema con “import” nella mia installazione. Ho installato Discourse dal codice sorgente, non tramite Docker, quindi ho sempre inserito i nuovi plugin in discourse/plugins, con cui sono riuscito a installare correttamente altri due plugin. Non sono sicuro che sia il modo corretto per installare retort allo stesso modo.
A proposito, avevo già installato @popperjs/core tramite npm, ma non so perché abbia riscontrato questo errore…
Grazie.
Quell’import è stato aggiunto come parte del refactoring dell’emoji-picker che ha portato all’aggiornamento di questo plugin qualche tempo fa (vedi sopra). È stato aggiunto a Discourse circa un mese fa. Se stai ricevendo quell’errore, significa che stai eseguendo una versione più vecchia di Discourse. Immagino che tu stia utilizzando il branch stable.
Questo plugin supporta anche stable, tramite il file .discourse_compatibility, ma se non stai utilizzando Docker, dovrai installare il plugin utilizzando il task rake plugin:pull_compatible_all, che scaricherà la versione corretta del plugin per stable.
Se si tratta di un ambiente di produzione e sei relativamente nuovo a Discourse, ti consiglio vivamente di utilizzare Docker. Gestisce diversi aspetti della gestione di un ambiente Discourse, come il recupero della versione corretta del plugin per il tuo ambiente, che potrebbero potenzialmente causare problemi.
Ciao, avevo gli emoji limitati. Un po’ di tempo fa, con un aggiornamento, ho dovuto abilitare gli emoji senza restrizioni per far funzionare il plugin.
Grazie mille @angus, hai ragione: ora sono sulla ramo stabile di Discourse. Eseguiro’ il task rake per scaricare la versione compatibile di Retort. Una volta ottenuto il nome di dominio, optero’ per l’immagine Docker, che e’ un metodo piu’ comodo. ![]()
Aggiornamento:
Ho eseguito rake plugin:pull_compatible_all, ma sembra che la mia versione stabile di Discourse sia troppo vecchia. Quindi ho scaricato l’ultima versione di Discourse. Ora tutto funziona senza intoppi ![]()
Grazie ancora per il tuo gentile aiuto ![]()
Nel tema predefinito di Discourse, nella visualizzazione mobile, il pulsante di risposta è separato dal resto delle icone della barra degli strumenti inferiore (mi piace, condividi, ecc.) e sposta l’icona della replica in basso, risultando molto brutto.
Sto usando questo CSS aggiunto al tema per correggere il design. Forse lo troverai utile anche tu
.mobile-view {
.topic-post nav.post-controls .actions button.reply {
margin: inherit;
margin-left: 10px;
}
nav.post-controls .actions {
text-align: right;
float: right;
display: inline-block;
}
.topic-post nav.post-controls .actions .double-button {
display: inline-flex;
}
.post-menu-area {
margin: 0;
padding-top: 15px;
}
}
Fantastico, grazie ![]()
Se hai bisogno di aiuto per il debug o hai un’idea di quale possa essere il problema, fammelo sapere.











