Kanban est incompatible avec l'URL new-topic

Il semble que Kanban soit incompatible avec l’URL new-topic.

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

fonctionne parfaitement, mais

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

n’ouvre pas l’éditeur.

1 « J'aime »

Entendez-vous par là qu’une catégorie appelée kanban est incompatible ?

1 « J'aime »

Le mien est en fait appelé “projects”, donc ce n’est rien de spécial concernant le nom “kanban”. La première URL ouvre le compositeur avec le titre, le texte, l’étiquette et la catégorie pré-sélectionnés. La deuxième URL n’ouvre pas le compositeur. Une solution de contournement consiste à avoir une URL qui nécessite uniquement de modifier la catégorie plutôt que de la définir.

Un autre problème que je rencontre est que j’ai créé un composant de thème qui fait ceci :

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

Il semblerait que la possibilité de définir le nombre souhaité de colonnes dans un composant de thème serait utile pour plus que moi seul. Je l’ai ajouté à ma liste pour soumettre une PR, mais vous pourriez peut-être le faire presque aussi vite que vous accepteriez une PR. :wink:

1 « J'aime »

Ceci est un nouveau site.

J’ai ajouté une catégorie « problèmes ». Je l’ai configurée en mode « balises » :

Et cela fait ceci :

Avez-vous une erreur JavaScript dans la console ? (Je soupçonne que la réponse est oui)

1 « J'aime »

Doh ! Oui. Désolé pour cela.

Uncaught TypeError: Cannot read property 'slugFor' of undefined

Je suis toujours en train de chercher et je vais essayer de mettre à jour ce post avec plus d’informations sous peu.

IDÉE : Je parie que les balises sont indéfinies. Mais ensuite, j’ai créé un groupe de balises avec toutes d’entre elles et je reçois toujours la même erreur.

3 « J'aime »

Et puis j’ai pensé que cela pourrait fonctionner en mode catégorie, mais je reçois toujours

Uncaught TypeError: Impossible de lire la propriété 'slugFor' de undefined

presque pour tout ce que je fais.

1 « J'aime »

Avez-vous eu de la chance en résolvant cela @pfaffman ? Je rencontre le même problème depuis la mise à niveau vers 2.5.0.beta4.

1 « J'aime »

Pas encore. J’ai cru que cela fonctionnait pendant un certain temps dans un autre mode, mais je n’ai toujours pas réussi à le faire fonctionner sur ce nouveau site. Je m’inquiète maintenant de toute mise à niveau des autres…

Mais il semblerait que suffisamment de personnes l’utilisent pour que d’autres signalent des problèmes d’ici là…

1 « J'aime »

Merci Jay !

J’ai creusé un peu plus. Le problème vient de cette ligne :

Pour une raison inconnue, dans certaines circonstances, slugFor ne renvoie rien. Un changement a été apporté à la méthode slugFor dans la version 2.5.0.beta4, ce qui pourrait être lié :

Je ne peux malheureusement pas en dire plus, car ma compréhension de l’architecture est très limitée. Je soupçonne toutefois que cela soit lié au problème, car lorsque je contourne la méthode slugFor, le tableau Kanban fonctionne à nouveau correctement.

2 « J'aime »

Excellent travail ! J’ai laissé un commentaire dans une issue GitHub.

Je pense qu’il y a un “depth =” avant le 2. Si vous regardez le deuxième changement, vous verrez un “depth = 3”.

Si vous n’avez pas d’environnement de développement configuré, ce que vous pouvez faire, je pense, c’est modifier ce fichier localement à l’intérieur du conteneur, puis exécuter :

 sv restart unicorn

(Je oublie parfois l’ordre de restart et unicorn).

Cela devrait régler le problème pour vous. Je suppose que quelqu’un verra mon commentaire sur GitHub demain et que cela sera corrigé sous peu.

Si je parviens à mon bureau aujourd’hui, je vérifierai moi-même et peut-être soumettrai-je une PR.

EDIT : Eh bien, il semble que ce ne soit pas aussi simple que je le pensais. Ou, du moins, ma tentative de correction à chaud ne fonctionne pas.

EDIT2 : Oui, je pense que ma modification est incorrecte, mais je ne vois pas comment slugFor pourrait échouer.

EDIT 3 : Eh bien, ce que j’ai fait, c’est modifier la ligne que vous avez marquée en :

        const slug = category.slug;

Cela semble fonctionner, du moins pour default_modes défini sur todo:tags:today,todo,waiting,idea,done.

4 « J'aime »

Je viens de rencontrer ce problème aujourd’hui après avoir passé à la dernière version de Discourse (2.5.0.beta4) depuis la 2.5.0beta3.

Dans les journaux d’erreurs : TypeError: Impossible de lire la propriété ‘slugFor’ de undefined

Je suis sur le point d’essayer la correction de @pfaffman (EDIT : qui a fonctionné !).

3 « J'aime »

Je rencontre récemment une autre erreur : la sous-catégorie que j’avais activée pour les tableaux Kanban n’affiche plus la liste des catégories au-delà de la ligne où se trouvent les menus déroulants de catégorie et de sous-catégorie, comme illustré dans l’image du message ci-dessus. L’erreur suivante est générée :

Message (2 copies signalées)

TypeError: Discourse.Category est undefined
Url: https://discourse.example.org/theme-javascripts/f32bb95e4546f7b589d94cac68824c840c3744fd.js?__ws=discourse.example.org
Ligne: 469
Colonne: 20
Emplacement de la fenêtre: 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 « J'aime »

Je viens de mettre à jour mon site d’assistance et cela a aussi cassé cette fonctionnalité, donc ce n’est pas un problème de configuration.

J’ai créé un fork ici : GitHub - literatecomputing/discourse-kanban-theme: A Discourse theme component providing basic kanban-board functionality · GitHub.

Il contient ma correction (peut-être naïve) ici :

Il ajoute également un paramètre de thème « nombre de colonnes » pour ajuster la largeur des colonnes du tableau Kanban en fonction du nombre défini. Si j’étais plus astucieux, je diviserais le paramètre « modes par défaut » et je le récupérerais à partir de là, mais je suppose qu’il pourrait y avoir une raison pour laquelle vous souhaitez qu’ils soient différents.

@david, devrais-je soumettre une PR ? Existe-t-il une meilleure solution que ma correction naïve ?

4 « J'aime »

Je peux signaler que le même problème se produit sur plusieurs petites instances Discourse utilisant Kanban.
Uncaught TypeError: Cannot read property 'slugFor' of undefined
Il serait appréciable que cela soit corrigé via la PR de @pfaffman @david.

2 « J'aime »

Désolé pour le délai d’investigation !

La correction est bonne, mais je pense qu’elle ne fonctionnera que pour les catégories de premier niveau, pas pour les sous-catégories. Cela devrait le faire :

J’apprécie, fusionné ici :

Je pense qu’un paramètre global pour cela convient ; il semble peu probable qu’il soit nécessaire de le définir par catégorie.

6 « J'aime »