No se pueden guardar los ajustes de categoría realizados por los plugins

Continuando la discusión de Plugin de Asistente Personalizado :mage::

Yo tengo el mismo problema y está ocurriendo con más plugins, como Locations y Private Topics. El mensaje «tienes cambios sin guardar» con la opción de guardar simplemente no aparece. Incluso cuando cambio otra cosa, la configuración no se guarda.

Quizás esto pertenece a Development, ya que los plugins oficiales no parecen verse afectados, pero por otro lado esto se rompió con una actualización de Discourse. Esto también afecta a dos plugins oficiales (calendar y restricted replies)

4 Me gusta

Sí, este es específicamente un problema con FormKit cuando enable_simplified_category_creation está habilitado; los plugins deberán migrar para usar FormKit y la nueva estructura de datos.

Hay un ejemplo funcional de esto en uno de nuestros plugins principales, que fue migrado aquí:

Puedes ver cómo la estructura del formulario se ramifica con {{#if this.siteSettings.enable_simplified_category_creation}} y cómo el formulario está estructurado usando FormKit y los datos de @outletArgs.form. La antigua estructura del formulario sigue presente después de {{else}} para mantener la compatibilidad con versiones anteriores.

2 Me gusta

Gracias por esa explicación, Kris.

Por lo general, suelo estar bastante relajado cuando necesito actualizar plugins debido a cambios en el núcleo, y estoy satisfecho con la forma en que se guía a los desarrolladores, pero creo que el equipo de Discourse realmente falló aquí.

  • No hubo ningún anuncio (al menos, no puedo encontrarlo, y @moin no me lo ha señalado (todavía) ;))
  • No se hizo ningún intento para mitigar esto con algún código general en el núcleo
  • Ni siquiera hay una advertencia en la consola de desarrollo del navegador

Las cosas simplemente dejaron de funcionar.

Un escaneo rápido, probablemente ni siquiera completo, muestra que esto ha roto AL MENOS los siguientes plugins:

  • Discourse
    • calendar ← plugin oficial de Discourse
    • restricted replies ← plugin oficial de Discourse
  • (miembros de) Pavilion
    • category lockdown
    • custom wizard
    • locations
    • chatbot
  • Communiteq
    • private replies
    • private topics
    • category restrictor
    • always anonymous
    • al menos 10 plugins privados
5 Me gusta

¡Verdad! Deberíamos haber advertido sobre este cambio a medida que avanzaba a través de nuestra función de cambios próximos: este es un proceso nuevo para nosotros y lo solucionaremos. Por ahora, enabled_simplified_category_creation se puede desactivar desde /admin/config/upcoming-changes para restaurar toda la funcionalidad existente del plugin.

4 Me gusta

Tuvimos tanto Simplified category setup como el próximo cambio en la interfaz de administración (y probablemente también un elemento en “Qué hay de nuevo”):

Deberías haber recibido notificaciones sobre este cambio tanto cuando apareció en tu sitio como cuando se activó automáticamente, lo cual probablemente ocurrió solo esta semana, cuando el cambio pasó al estado Estable.

Como dijo Kris, la mitigación es el próximo cambio en el núcleo, que te da tiempo para migrar las cosas:

¿Qué más te habría ayudado en este caso? Podríamos agregar algunos detalles adicionales en el tema vinculado al próximo cambio, con información sobre lo que los desarrolladores necesitan hacer para prepararse.

En cuanto a las advertencias para desarrolladores, puedo consultar con el equipo dev-xp para ver si hay algo mejor que podamos hacer la próxima vez.


Vamos a solucionar esto hoy. Debe ser que no tuvimos una cobertura de pruebas adecuada aquí, porque ninguno de estos plugins falló cuando realicé DEV: Move enable_simplified_category_creation to stable by martin-brennan · Pull Request #39212 · discourse/discourse · GitHub, pero otros plugins sí:

2 Me gusta

Ambos ya están fusionados, con una cobertura adicional de especificaciones, por @awesomerobot:

2 Me gusta