Kanban ist mit der new-topic-URL inkompatibel

Es scheint, dass Kanban mit der new-topic-URL inkompatibel ist.

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

funktioniert einwandfrei, aber

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

öffnet den Editor nicht.

1 „Gefällt mir“

Meinst du, dass eine Kategorie namens kanban inkompatibel ist?

1 „Gefällt mir“

Meins heißt tatsächlich „projects", also liegt es nicht an etwas Besonderem am Namen „kanban". Die erste URL öffnet den Composer mit dem Titel, Text, den Tags und der Kategorie bereits ausgewählt. Die zweite URL öffnet den Composer nicht. Eine Workaround-Lösung besteht darin, eine URL zu verwenden, bei der nur die Kategorie geändert werden muss, anstatt sie festzulegen.

Ein weiteres Problem, das ich habe, ist, dass ich eine Theme-Komponente erstellt habe, die Folgendes tut:

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

Es scheint, als wäre die Möglichkeit, die gewünschte Anzahl von Spalten in einer Theme-Komponente festzulegen, für mehr als nur mich nützlich. Ich habe es auf meine Liste gesetzt, einen PR einzureichen, aber du könntest es fast genauso schnell erledigen, wie du einen PR annehmen würdest. :wink:

1 „Gefällt mir“

Das ist eine frische Seite.

Ich habe eine Kategorie „Issues" hinzugefügt und diese im „Tags"-Modus eingerichtet:

Und das ist das Ergebnis:

Hast du einen JavaScript-Fehler in der Konsole? (Ich vermute, die Antwort lautet ja.)

1 „Gefällt mir“

Doh! Ja, sorry dafür.

Uncaught TypeError: Cannot read property 'slugFor' of undefined

Ich schaue noch weiter und werde versuchen, diesen Beitrag in Kürze mit weiteren Informationen zu aktualisieren.

IDEA: Ich wette, dass die Tags undefined sind. Aber dann habe ich eine Tag-Gruppe mit allen erstellt und bekomme immer noch denselben Fehler.

3 „Gefällt mir“

Und dann dachte ich, es könnte im Kategorienmodus funktionieren, aber ich bekomme immer noch

Uncaught TypeError: Cannot read property 'slugFor' of undefined

bei fast allem, was ich tue.

1 „Gefällt mir“

Hast du schon etwas herausgefunden, @pfaffman? Ich habe seit dem Upgrade auf 2.5.0.beta4 dasselbe Problem.

1 „Gefällt mir“

Noch nicht. Ich dachte, es funktionierte kurzzeitig in einem anderen Modus, aber auf dieser neuen Seite läuft es immer noch nicht. Jetzt mache ich mir Sorgen, dass ein Upgrade des anderen…

Aber es scheint, dass schon genug Leute dies nutzen, sodass andere längst Probleme gemeldet hätten…

1 „Gefällt mir“

Danke, Jay!

Ich habe etwas mehr recherchiert. Das Problem liegt in dieser Zeile:

Aus irgendeinem Grund gibt slugFor unter bestimmten Umständen nichts zurück. Es gab eine Änderung an der slugFor-Methode, die mit 2.5.0.beta4 veröffentlicht wurde, was möglicherweise damit zusammenhängt:

Leider kann ich dazu nicht mehr sagen, da mein Verständnis der Architektur sehr begrenzt ist. Ich vermute jedoch, dass dies mit dem Problem zusammenhängt, denn wenn ich die slugFor-Methode umgehe, funktioniert die Kanban-Board wieder einwandfrei.

2 „Gefällt mir“

Toll gemacht! Ich habe einen Kommentar in einem GitHub-Issue hinterlassen.

Ich denke, vor der 2 steht ein „depth =“. Wenn du dir die zweite Änderung ansiehst, siehst du ein „depth = 3”.

Wenn du keine Entwicklungsumgebung eingerichtet hast, könntest du – meiner Meinung nach – diese Datei lokal innerhalb des Containers bearbeiten und dann Folgendes ausführen:

 sv restart unicorn

(Ich vergesse manchmal die Reihenfolge von „restart" und „unicorn".)

Das sollte es für dich beheben. Ich vermute, jemand wird meinen GitHub-Kommentar morgen sehen, und das Problem wird kurz darauf behoben sein.

Wenn ich heute an meinen Schreibtisch komme, werde ich versuchen, es selbst zu prüfen und vielleicht einen PR einreichen.

EDIT: Nun, es sieht so aus, als wäre es nicht ganz so einfach, wie ich dachte. Oder zumindest funktioniert mein Versuch, es per Hotfix zu beheben, nicht.

EDIT2: Ja, ich denke, meine Änderung ist falsch, aber ich sehe nicht, wie slugFor fehlschlagen könnte.

EDIT 3: Nun, was ich getan habe, ist, die Zeile, die du markiert hast, in folgendes zu ändern:

        const slug = category.slug;

Es scheint zu funktionieren, zumindest für default_modes, das auf todo:tags:today,todo,waiting,idea,done gesetzt ist.

4 „Gefällt mir“

Ich habe heute nach dem Upgrade auf die neueste Version von Discourse (2.5.0.beta4) von 2.5.0beta3 genau dieses Problem bekommen.

In den Fehlerprotokollen steht: TypeError: Cannot read property ‘slugFor’ of undefined

Ich bin gerade dabei, @pfaffmans Lösung zu testen (EDIT: die funktioniert!).

3 „Gefällt mir“

Seit kurzem tritt ein weiterer Fehler auf: Die für Kanban-Boards aktivierte Unterkategorie wird nicht mehr korrekt dargestellt. Es erscheint nur noch die Zeile mit den Dropdown-Menüs für Kategorie und Unterkategorie, wie im Bild im vorherigen Beitrag zu sehen ist. Dabei wird folgende Fehlermeldung ausgegeben:

Meldung (2-mal gemeldet)

TypeError: Discourse.Category ist undefined
URL: https://discourse.example.org/theme-javascripts/f32bb95e4546f7b589d94cac68824c840c3744fd.js?__ws=discourse.example.org
Zeile: 469
Spalte: 20
Fenster-URL: https://discourse.example.org/c/categoryname/subcategoryname/44/l/latest?board=default

Rückverfolgung

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 „Gefällt mir“

Ich habe meine Support-Seite gerade aktualisiert, und dabei ist auch dies kaputtgegangen, also liegt es nicht an einer Konfigurationsproblematik.

Ich habe einen Fork hier erstellt: GitHub - literatecomputing/discourse-kanban-theme: A Discourse theme component providing basic kanban-board functionality · GitHub.

Hier ist meine (vielleicht naive) Lösung:

Zusätzlich fügt er eine Theme-Einstellung „Anzahl der Spalten" hinzu, um die Breite der Kanban-Spalten an die dort festgelegte Zahl anzupassen. Wenn ich schlauer wäre, würde ich die Einstellung „Standardmodi" aufsplitten und den Wert daraus beziehen, aber ich nehme an, es könnte Gründe geben, warum diese unterschiedlich sein sollen.

@david, soll ich einen PR einreichen? Gibt es eine bessere Lösung als meine naive Fixierung?

4 „Gefällt mir“

Ich kann bestätigen, dass das gleiche Problem bei mehreren kleinen Discourse-Instanzen auftritt, die Kanban verwenden.
Uncaught TypeError: Cannot read property 'slugFor' of undefined
Es wäre schön, wenn dies über @pfaffmans PR @david behoben werden könnte.

2 „Gefällt mir“

Entschuldigung für die Verzögerung bei der Untersuchung!

Die Lösung ist gut, aber ich denke, sie funktioniert nur für Kategorien auf der obersten Ebene, nicht für Unterkategorien. Das sollte es tun:

Das gefällt mir, hier zusammengeführt:

Ich denke, eine globale Einstellung dafür ist in Ordnung – die Notwendigkeit, dies pro Kategorie einzustellen, scheint unwahrscheinlich.

6 „Gefällt mir“