Kanban è incompatibile con l'URL new-topic

Sembra che Kanban sia incompatibile con l’URL new-topic.

 https://mysite.com/new-topic?title=this%20is%20a%20test&body=this%20too&category=staff&tags=todo

funziona perfettamente, ma

 https://mysite.com/new-topic?title=this%20is%20a%20test&body=this%20too&category=kanban&tags=todo

non apre il compositore.

1 Mi Piace

Intendi che una categoria chiamata kanban è incompatibile?

1 Mi Piace

Il mio si chiama in realtà “projects”, quindi non c’è nulla di speciale nel nome “kanban”. Il primo URL apre il composer con titolo, testo, tag e categoria già selezionati. Il secondo URL non apre il composer. Una soluzione alternativa consiste nell’avere un URL che richieda solo la modifica della categoria invece della sua impostazione.

Un’altra problematica che riscontro è che ho creato un componente del tema che fa questo:

.discourse-kanban-container .discourse-kanban-list {
    width: calc((1110px - (4*4px))/5)
}

Sembra che la possibilità di impostare il numero desiderato di colonne in un componente del tema sarebbe utile per più persone oltre a me. Ho inserito nella mia lista di inviare una PR, ma potresti riuscire a farlo quasi alla stessa velocità con cui accetteresti una PR. :wink:

1 Mi Piace

Questo è un nuovo sito.

Ho aggiunto una categoria “issue”. L’ho impostata in modalità “tag”:

E si comporta così:

Hai un errore JavaScript nella console? (Immagino che la risposta sia sì)

1 Mi Piace

Doh! Sì. Scusa per questo.

Uncaught TypeError: Impossibile leggere la proprietà 'slugFor' di undefined

Sto ancora cercando e proverò ad aggiornare questo post con ulteriori informazioni a breve.

IDEA: scommetto che i tag siano undefined. Ma poi ho creato un gruppo di tag con tutti loro e ricevo ancora lo stesso errore.

3 Mi Piace

E poi ho pensato che potesse funzionare in modalità categoria, ma continuo a ottenere

Uncaught TypeError: Cannot read property 'slugFor' of undefined

per quasi tutto ciò che faccio.

1 Mi Piace

Hai avuto fortuna a risolvere il problema, @pfaffman? Sto riscontrando lo stesso problema da quando ho aggiornato alla versione 2.5.0.beta4.

1 Mi Piace

Non ancora. Pensavo che funzionasse per un po’ in qualche altra modalità, ma non sono ancora riuscito a farlo funzionare su quel nuovo sito. Ora sono preoccupato che aggiornare gli altri…

Ma sembra che ci siano già abbastanza persone che lo usano da far sì che altri avessero già segnalato problemi fino a questo punto…

1 Mi Piace

Grazie, Jay!

Ho fatto un’ulteriore indagine. Il problema è questa riga:

Per qualche motivo, in alcune circostanze, slugFor non restituisce nulla. C’è stato un cambiamento nel metodo slugFor rilasciato con la versione 2.5.0.beta4, che potrebbe essere correlato:

Purtroppo non posso dire molto di più, poiché la mia comprensione dell’architettura è molto scarsa. Tuttavia, sospetto che questo sia correlato al problema, perché quando bypasso il metodo slugFor, la bacheca Kanban funziona di nuovo correttamente.

2 Mi Piace

Ottimo lavoro! Ho lasciato un commento su una issue di GitHub.

Penso che ci sia un “depth =” prima del 2. Se guardi la seconda modifica, vedrai un “depth = 3”.

Se non hai un ambiente di sviluppo configurato, quello che puoi fare, secondo me, è modificare quel file localmente all’interno del container e poi eseguire:

 sv restart unicorn

(A volte dimentico l’ordine tra restart e unicorn).

Questo dovrebbe risolvere il problema per te. Immagino che qualcuno vedrà il mio commento su GitHub domani e la questione verrà risolta a breve.

Se arrivo alla mia scrivania oggi, proverò a controllare io stesso e magari inviare una PR.

EDIT: Beh, sembra che non sia così semplice come pensavo. O, almeno, il mio tentativo di applicare una hot-fix non sta funzionando.

EDIT2: Sì, penso che la mia modifica sia errata, ma non riesco a capire come mai slugFor stia fallendo.

EDIT 3: Beh, quello che ho fatto è cambiare la riga che hai segnalato in:

        const slug = category.slug;

Sembra funzionare, almeno per default_modes impostato su todo:tags:today,todo,waiting,idea,done.

4 Mi Piace

Ho riscontrato lo stesso problema oggi dopo l’aggiornamento all’ultima versione di Discourse (2.5.0.beta4) dalla 2.5.0beta3.

Nei log degli errori: TypeError: Impossibile leggere la proprietà ‘slugFor’ di undefined

Sto per provare la correzione di @pfaffman (MODIFICA: ha funzionato!).

3 Mi Piace

Ultimamente ricevo un altro errore: la sottocategoria che avevo abilitato per le board Kanban non rende più l’elenco delle categorie, mostrando solo la riga con i menu a tendina per categoria e sottocategoria, come mostrato nell’immagine nel post precedente. Viene generato il seguente errore:

Messaggio (2 copie riportate)

TypeError: Discourse.Category is undefined
Url: https://discourse.example.org/theme-javascripts/f32bb95e4546f7b589d94cac68824c840c3744fd.js?__ws=discourse.example.org
Linea: 469
Colonna: 20
Posizione della finestra: https://discourse.example.org/c/categoryname/subcategoryname/44/l/latest?board=default

Backtrace

hrefForCategory@https://discourse.example.org/theme-javascripts/f32bb95e4546f7b589d94cac68824c840c3744fd.js?__ws=discourse.example.org:469:20
href@https://discourse.example.org/theme-javascripts/f32bb95e4546f7b589d94cac68824c840c3744fd.js?__ws=discourse.example.org:385:32
d/<@https://discourse.example.org/assets/application-d69ccaa9a8d21fd7f40b18692a4d5240d02c1a5a4bbf6f25b44bafdf1dbd8e2f.js:1:38925
nt</t.get@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:202038
Ke@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:199024
Z</t.compute@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:114737
$</e.prototype.value@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:113727
U</t.flush@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:430769
@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:424675
o</t.evaluate@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:415589
Fe</t.evaluateSyscall@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:449837
Fe</t.evaluateInner@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:449423
Fe</t.evaluateOuter@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:449332
pt</e.next@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:475087
dt</e.prototype.next@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:476136
e/this.render@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:143407
H@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:188637
Jt</t._renderRoots@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:146752
Jt</t._renderRootsTransaction@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:147058
Jt</t._renderRoot@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:146446
Jt</t._appendDefinition@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:145571
Jt</t.appendOutletView@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:145292
f</t.invoke@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:490268
f</t.flush@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:489266
p</t.flush@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:491273
t</t._end@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:496669
t</t.end@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:493225
t</t._run@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:497197
t</t._join@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:496982
t</t.join@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:493933
f@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:360451
e.bind/<@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:360675
e@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:30015
l</t<@https://discourse.example.org/assets/ember_jquery-3a388c5a0562670ed1eea762f12e041d92b4a418316d3f9f83e793d3ba6be5d7.js:1:30339
3 Mi Piace

Ho appena aggiornato il mio sito di supporto e ha rotto anche questo, quindi non è un problema di configurazione.

Ho creato un fork qui: https://github.com/literatecomputing/discourse-kanban-theme.

Qui c’è la mia (forse ingenua) correzione:

Aggiunge anche un’impostazione del tema “num colonne” per regolare la larghezza delle colonne kanban in base al numero impostato. Se fossi più astuto, dividerei l’impostazione default modes e la prenderei da lì, ma immagino che ci possa essere un motivo per cui vuoi che siano diverse.

@david, dovrei inviare una PR? Esiste una soluzione migliore rispetto alla mia correzione ingenua?

4 Mi Piace

Posso confermare lo stesso problema su alcune piccole istanze di Discourse che utilizzano Kanban.
Uncaught TypeError: Cannot read property 'slugFor' of undefined
Sarebbe bello se potessimo risolvere questo problema tramite la PR di @pfaffman @david.

2 Mi Piace

Scusa il ritardo nell’indagare la questione!

La soluzione è buona, ma penso che funzioni solo per le categorie di primo livello, non per le sottocategorie. Dovrebbe funzionare così:

Mi piace, unita qui:

Penso che un’impostazione globale per questo vada bene: sembra improbabile che sia necessario impostarla per ogni categoria.

6 Mi Piace