È possibile che questo sia stato influenzato dal recente aggiornamento di Discourse (attualmente alla versione 2.5.0.beta2).
Ho un campo a discesa multi-selezione che era precedentemente configurato e funzionante, impostato come modificabile dopo la registrazione, ecc.
Tuttavia, per gli utenti esistenti, sebbene i contenuti di questo campo siano visualizzati nella pagina del profilo utente, il campo non è più elencato insieme agli altri campi utente personalizzati modificabili nella pagina delle preferenze dell’utente.
In altre parole, non è più possibile per l’utente o l’amministratore apportare modifiche.
Inoltre, per i nuovi utenti che si registrano, sebbene il campo a selezione multipla sia visibile, nessuna delle opzioni a discesa è ora disponibile/visualizzata (si vede solo un sottile rettangolo blu vuoto). Poiché questo campo è impostato come obbligatorio, la registrazione non può procedere.
Si tratta di un problema noto? È confermato che un aggiornamento di Discourse ne sia la causa? È noto qual è l’ultima versione di Discourse compatibile e esiste un modo ragionevole per tornare a quella versione?
Ho pubblicato un rapporto su GitHub, ma vedo che il plugin non ha registrato alcuna attività di sviluppo da un paio d’anni, quindi non sono ottimista che una soluzione possa arrivare da quella direzione. Esistono altri metodi (funzionanti) per ottenere un menu a discesa multi-selezione per i campi utente in Discourse?
Per tua informazione, nei ultimi mesi c’è stato un importante aggiornamento del Select Kit del core alla versione 2. Questo ha interessato diversi plugin e, in particolare, questo tipo di controllo. Se questo plugin non è stato mantenuto da allora, potrebbe effettivamente non funzionare.
Ti suggerisco di contattare lo sviluppatore qui o di pubblicare un messaggio nel suo Topic meta, se esiste. Se non rispondono e la cosa è importante per te, pubblica in Marketplace per trovare un freelance che se ne occupi?
Ciao, grazie a entrambi per la straordinaria risposta!
Ho aggiornato sia il plugin che Discourse per includere le ultime modifiche, ma per me il problema della pagina del profilo utente che omette il campo a discesa persiste.
Un problema potenzialmente correlato è che in tutti i casi devo fare doppio clic sul link Profilo utente sul lato sinistro della pagina delle preferenze dell’utente. Il primo clic mostra solo i campi utente standard, e solo il secondo clic mostra anche i campi utente personalizzati, ma escludendo il campo multi-selezione (sfortunatamente, fare clic tre volte non aiuta).
Ho provato su diversi browser e ho svuotato la cache di ciascun browser.
Posso confermare, tuttavia, che le nuove registrazioni di utenti possono ora vedere le opzioni a discesa.
Questo restringe il campo del problema?
Nel video, metto in evidenza il campo a selezione multipla così come appare nella pagina delle preferenze utente, ma come puoi vedere, nonostante abbia cliccato due volte su “Profilo”, quel campo non appare e quindi non è ancora modificabile.
Un secondo problema che potresti notare nella pagina delle preferenze utente è che non viene visualizzata alcuna virgola tra gli elementi della selezione multipla quando ci sono più opzioni applicabili al campo per quell’utente.
La finestra della console mostra il messaggio seguente, alla prima cliccata su ‘Profilo’
VM173:1 Uncaught SyntaxError: Unexpected token N in JSON at position 0
at JSON.parse (<anonymous>)
at t.init_values (_discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63)
at D (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381)
at p (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427)
at Function.e.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006)
at e.t.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490)
at t.n.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623)
at Object.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870)
at e.t.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374)
at e.t.evaluateSyscall (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789)
init_values @ _discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63
D @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381
p @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427
e.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006
t.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490
n.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870
t.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374
t.evaluateSyscall @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789
t.evaluateInner @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62735
t.evaluateOuter @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62727
e.next @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64859
e.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64843
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63724
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63904
t.throw @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63622
r.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60213
t.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63609
t.rerender @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63936
h.render @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19079
V @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25920
t._renderRoots @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19372
t._renderRootsTransaction @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19410
t._revalidate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19456
t.invoke @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66276
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66168
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66372
t._end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66948
t.end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66634
t._run @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:67003
t._join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66977
t.join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66694
f @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:53486
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45901
r @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:49817
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45897
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:44834
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45224
dispatch @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5251
v.handle @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5058
Show 10 more frames
Cliccando di nuovo su ‘Profilo’ non sembra che il messaggio di errore nella console cambi.
Posso inviare una registrazione video se può essere utile?
Esiste un modo per aggiungere le virgole tra le opzioni elencate? Attualmente, se più di un’opzione è applicabile, quando vengono elencate una dopo l’altra senza un separatore, sembrano tutte un’unica lunga stringa di opzione.
Non sono sicuro di come tu sia finito in questo stato, ma in qualche modo il valore della tua impostazione è errato. Ho creato una PR per il plugin per rendere il parsing più robusto e, se per qualche motivo il valore non è parsabile come JSON, far sì che ricada su un valore predefinito.
Per quanto riguarda l’altro “problema”, si tratta di una richiesta di funzionalità rivolta a chi possiede questo plugin. Non sono nemmeno sicuro che possano farlo.
Finora l’aggiornamento non è stato rilevato dalla mia installazione di Discourse.
Leggendo quanto sopra, sembra che sia necessario un processo di “unione” (merge)?
È qualcosa che potrei tentare di fare senza creare problemi a nessuno?
Esiste un modo per aggiornare manualmente il plugin nel frattempo e, in tal caso, Discourse sarà comunque in grado di gestire eventuali ulteriori aggiornamenti?