Problema con i tag sulla nuova istanza di discourse?

La mia nuova istanza di Discourse (attualmente sulla versione 38950840e0) è attiva da pochi giorni. Oggi, quando ho abilitato i tag, ho subito riscontrato diversi problemi.

Quando creo un nuovo argomento, posso aggiungere un tag e tutto funziona come previsto. Tuttavia, quando provo a modificare un argomento esistente per aggiungere un tag o a crearne uno nuovo, non succede nulla. Vedo che il tag viene inviato nella richiesta di rete con un PUT, ma controllando il database non vedo nulla apparire nelle tabelle topic_tags o tags.

Ho anche notato che a volte i tag puntano a /tag/<tagname> e a volte a /tags/<tagname>. Il primo funziona, il secondo no.

L’installazione è per lo più predefinita con pochi plugin: solo il plugin multilingual, che, immagino, interagisca con la funzionalità dei tag? Non ho modificato molte impostazioni nell’amministratore; per quanto riguarda i tag, ho solo spuntato “Abilita tag negli argomenti?” e nient’altro.

Il forum è online, ma attualmente è impostato come privato. Posso fornire un link di invito se qualcuno vuole dare un’occhiata…

1 Mi Piace

La rotta dei tag è stata recentemente rinominata da tags a tag. È probabile che il problema sia causato da un plugin.

Puoi provare ad accedere ai registri degli errori del tuo sito (trovabili in Amministrazione / Registri / Registri degli errori) e poi taggare un argomento? Forse questo attiverà una voce nei registri. Se ciò accade, o se vedi vecchie voci di registro che fanno riferimento ai tag, dai un’occhiata a quanto viene visualizzato nelle schede ‘info’ e ‘backtrace’ per la voce di registro.

La scheda ‘backtrace’ potrebbe fornirci informazioni su ciò che causa il problema. Assomiglierà a qualcosa del genere:

2 Mi Piace

Grazie per la risposta. Non c’è nulla nei log. L’unica cosa che posso ipotizzare è che qualcosa da Multilingual Plugin 🌐 non sia ancora stato aggiornato alle modifiche recenti?

In realtà non mi serve l’intero plugin, solo una parte: disabilitare l'uso delle lingue dell'interfaccia esistenti, ma non vedo un altro modo per farlo facilmente.

1 Mi Piace

Per riferimento futuro, nel caso in cui qualcuno trovi utile questo, ho estratto il brevissimo frammento necessario dal plugin multilingua in un plugin separato e funziona perfettamente per il mio caso d’uso:

// 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: 'La mia locale personalizzata'},
            ]
        }
      });
    });
  }
}

I tag funzionano di nuovo come previsto, quindi posso confermare che il problema risiede nel plugin. (Ho provato a modificare vari riferimenti da /tags a /tag, ma senza successo.)

2 Mi Piace

Intendi “da /tags a /tag…”? :slightly_smiling_face:

2 Mi Piace