Kanban é incompatível com a URL de novo tópico

Parece que o kanban é incompatível com a URL new-topic.

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

funciona perfeitamente, mas

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

não abre o editor.

1 curtida

Você quer dizer que uma categoria chamada kanban é incompatível?

1 curtida

O meu na verdade se chama “projects”, então não há nada de especial no nome “kanban”. O primeiro URL abre o compositor com o título, texto, tag e categoria já selecionados. O segundo URL não abre o compositor. Uma solução alternativa é ter um URL que exija apenas a alteração da categoria, em vez de defini-la.

Outro problema que tenho é que criei um componente de tema que faz o seguinte:

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

Parece que seria útil poder definir o número desejado de colunas em um componente de tema, não apenas para mim. Coloquei na minha lista enviar um PR, mas você talvez possa fazer isso quase tão rápido quanto aceitaria um PR. :wink:

1 curtida

Este é um site novo.

Adicionei uma categoria “problemas”. Configurei no modo “tags”:

E está fazendo isso:

Você tem um erro de JavaScript no console? (Suspeito que a resposta seja sim)

1 curtida

Doh! Sim. Desculpe por isso.

Uncaught TypeError: Cannot read property 'slugFor' of undefined

Ainda estou investigando e tentarei atualizar esta postagem com mais informações em breve.

IDEIA: Aposto que as tags estão indefinidas. Mas aí criei um grupo de tags com todas elas e ainda estou recebendo o mesmo erro.

3 curtidas

E então pensei que poderia funcionar no modo de categoria, mas ainda estou recebendo

Uncaught TypeError: Cannot read property 'slugFor' of undefined

para quase tudo que faço.

1 curtida

Conseguiu resolver isso, @pfaffman? Estou enfrentando o mesmo problema desde que atualizei para a versão 2.5.0.beta4.

1 curtida

Ainda não. Achei que funcionasse em algum outro modo por um tempo, mas ainda não consegui fazê-lo funcionar nesse novo site. Agora estou preocupado que qualquer atualização do outro…

Mas parece que já são suficientes pessoas usando isso para que mais outros relatassem problemas até agora…

1 curtida

Obrigado, Jay!

Fiz uma investigação um pouco mais aprofundada. O problema está nesta linha:

Por algum motivo, em certas circunstâncias, slugFor não está retornando nada. Houve uma alteração no método slugFor lançada na versão 2.5.0.beta4, o que pode estar relacionado:

Infelizmente, não posso dizer muito mais do que isso, já que meu entendimento da arquitetura é muito limitado. No entanto, suspeito que isso esteja relacionado ao problema, pois quando contornei o método slugFor, o quadro kanban voltou a funcionar normalmente.

2 curtidas

Ótimo trabalho! Deixei um comentário em uma issue do GitHub.

Acho que há um “depth =” antes do 2. Se você olhar a segunda alteração, verá um “depth = 3”.

Se você não tiver um ambiente de desenvolvimento configurado, o que pode fazer, creio eu, é editar esse arquivo localmente dentro do container e, em seguida, executar:

 sv restart unicorn

(Às vezes esqueço a ordem de restart e unicorn).

Isso deve resolver o problema para você. Acredito que alguém verá meu comentário no GitHub amanhã e isso será corrigido em breve.

Se eu chegar à minha mesa hoje, tentarei verificar pessoalmente e talvez enviar um PR.

EDIT: Bem, parece que não é tão simples quanto eu pensava. Ou, pelo menos, minha tentativa de corrigir isso “on-the-fly” não está funcionando.

EDIT2: Sim, acho que minha alteração está errada, mas não consigo entender como slugFor estaria falhando.

EDIT 3: Bem, o que fiz foi alterar a linha que você marcou para:

        const slug = category.slug;

Parece funcionar, pelo menos para default_modes definido como todo:tags:today,todo,waiting,idea,done.

4 curtidas

Eu também tive esse problema hoje após atualizar para a versão mais recente do Discourse (2.5.0.beta4) a partir da 2.5.0beta3.

Nos logs de erro: TypeError: Cannot read property ‘slugFor’ of undefined

Estava prestes a tentar a correção do @pfaffman (EDIT: que funcionou!)

3 curtidas

Estou recebendo outro erro ultimamente, onde a subcategoria que eu havia ativado para os quadros Kanban agora não renderiza a lista de categorias além da linha onde estão os menus suspensos de categoria e subcategoria, conforme mostrado na imagem no post acima. O seguinte erro é gerado:

Mensagem (2 cópias reportadas)

TypeError: Discourse.Category é indefinido
Url: https://discourse.example.org/theme-javascripts/f32bb95e4546f7b589d94cac68824c840c3744fd.js?__ws=discourse.example.org
Linha: 469
Coluna: 20
Localização da janela: https://discourse.example.org/c/categoryname/subcategoryname/44/l/latest?board=default

Rastreamento de chamada

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 curtidas

Acabei de atualizar meu site de suporte e isso também quebrou, então não é um problema de configuração.

Criei um fork aqui: GitHub - literatecomputing/discourse-kanban-theme: A Discourse theme component providing basic kanban-board functionality · GitHub.

Ele contém minha correção (talvez ingênua) aqui:

Também adiciona uma configuração de tema “número de colunas” para ajustar a largura das colunas do kanban conforme o número definido. Se eu fosse mais esperto, eu separaria a configuração modos padrão e pegaria o valor de lá, mas imagino que possa haver um motivo para você querer que esses valores sejam diferentes.

@david, devo enviar um PR? Existe uma solução melhor do que minha correção ingênua?

4 curtidas

Posso relatar o mesmo problema em algumas instâncias pequenas do Discourse que usam o Kanban.
Uncaught TypeError: Cannot read property 'slugFor' of undefined
Seria ótimo se pudéssemos corrigir isso por meio do PR de @pfaffman, @david.

2 curtidas

Desculpe o atraso na investigação disso!

A correção é boa, mas acho que funcionará apenas para categorias de nível superior, não para subcategorias. Isso deve resolver:

Gostei, mesclado aqui:

Acho que uma configuração global para isso é adequada — parece improvável que seja necessário configurá-la por categoria.

6 curtidas