Problem mit Tags auf neuer Discourse-Instanz?

Meine neue Discourse-Instanz (derzeit auf 38950840e0) läuft erst seit wenigen Tagen. Als ich heute Tags aktiviert habe, bin ich schnell auf eine Reihe von Problemen gestoßen.

Wenn ich ein neues Thema erstelle, kann ich ein Tag hinzufügen, und alles funktioniert wie erwartet. Wenn ich jedoch versuche, ein bestehendes Thema zu bearbeiten, um ein Tag hinzuzufügen, oder ein neues Tag zu erstellen, passiert nichts. Ich sehe im Netzwerk-Request, dass das Tag bei einem PUT-Aufruf gesendet wird, aber in der Datenbank taucht nichts in den Tabellen topic_tags oder tags auf.

Außerdem habe ich festgestellt, dass Tags manchmal auf /tag/<tagname> und manchmal auf /tags/<tagname> verlinken. Ersteres funktioniert, Letzteres nicht.

Ich habe eine weitgehend standardmäßige Installation mit wenigen Plugins – nur das multilingual-Plugin, das meines Erachtens die Tag-Funktion berührt. Ich habe im Admin-Bereich kaum Einstellungen geändert; bei den Tags habe ich lediglich Tags in Themen aktivieren? angehakt und sonst nichts.

Das Forum ist online, aber derzeit auf privat gestellt. Ich kann einen Einladungslink bereitstellen, falls jemand einen Blick darauf werfen möchte…

1 „Gefällt mir“

Die Tag-Route wurde kürzlich von tags in tag umbenannt. Es ist wahrscheinlich, dass ein Plugin das Problem verursacht.

Könntest du versuchen, in die Fehlerprotokolle deiner Seite zu gehen (zu finden unter Admin / Protokolle / Fehlerprotokolle) und dann ein Thema mit einem Tag zu versehen? Möglicherweise wird dadurch ein Eintrag im Protokoll ausgelöst. Falls dies der Fall ist oder wenn du alte Protokolleinträge siehst, die sich auf Tags beziehen, schaue dir an, was in den Registerkarten ‘Info’ und ‘Backtrace’ für den Protokolleintrag angezeigt wird.

Die Registerkarte ‘Backtrace’ könnte uns Informationen darüber geben, was das Problem verursacht. Sie sieht ungefähr so aus:

2 „Gefällt mir“

Danke für die Antwort. In den Logs ist nichts zu finden. Die einzige Vermutung, die ich habe, ist, dass etwas von Multilingual Plugin 🌐 noch nicht auf die neuesten Änderungen aktualisiert wurde?

Tatsächlich brauche ich das gesamte Plugin gar nicht, nur einen Teil davon: die Verwendung vorhandener Schnittstellensprachen deaktivieren. Aber ich sehe keine andere einfache Möglichkeit, das zu erreichen.

1 „Gefällt mir“

Für zukünftige Referenz, falls dies jemandem nützlich sein könnte: Ich habe das sehr kurze Code-Snippet, das ich benötigte, aus dem mehrsprachigen Plugin extrahiert und in ein separates Plugin überführt. Für meinen Anwendungsfall funktioniert es einwandfrei:

// assets/javascripts/discourse/initializers/custom-locale-initializer.js.es6

import { withPluginApi } from 'discourse/lib/plugin-api';
import { default as discourseComputed } from "discourse-common/utils/decorators";

export default {
  name: 'custom_locale',
  initialize(container) {
    const siteSettings = container.lookup("site-settings:main");

    if (!siteSettings.custom_locale_disable_others) return;
    
    withPluginApi('0.11.1', api => {
      api.modifyClass('controller:preferences/interface', {
        @discourseComputed()
        availableLocales() {
            return [
                { value: 'en', name: 'English' },
                { value: 'cust', name: 'My Custom Locale'},
            ]
        }
      });
    });
  }
}

Tags funktionieren wieder wie erwartet, sodass ich bestätigen kann, dass das Problem im Plugin liegt. (Ich habe versucht, verschiedene Verweise von /tags auf /tag zu ändern, war jedoch erfolglos.)

2 „Gefällt mir“

Meinst du vielleicht „von /tags zu /tag

2 „Gefällt mir“