He estado investigando el error this.router con el plugin Pavilion Events y me encontré con este fork:
Por lo que puedo ver, este fork es solo una copia de angusmcleod/discourse-events sin commits que lo actualicen para los últimos cambios de Discourse (incluida la compatibilidad con Ember 5). No parece abordar las rutas de código obsoletas que causan los errores actuales.
Según las publicaciones de la comunidad y las pruebas, esto es lo que entiendo:
El plugin Events original no es compatible actualmente con la actualización a Ember 5 de Discourse.
Los usuarios han informado problemas con las modales event-rsvp y add-event, lo que provoca fallos.
Una solución temporal es forzar a Discourse a usar Ember 3 agregando EMBER_VERSION=3 en app.yml, pero esto no es una solución a largo plazo y puede causar problemas futuros.
Esta situación ha persistido hasta principios de 2025 sin una actualización oficial de los mantenedores del plugin.
Preguntas:
¿Alguien puede confirmar si mi comprensión anterior es precisa?
¿Alguien ha ejecutado con éxito el fork awesome-it/discourse-events en la última versión de Discourse sin el fallback de Ember 3?
¿Existe un fork mantenido activamente o un plugin alternativo que replique las características del plugin Events?
Cualquier confirmación o corrección sería apreciada para que pueda planificar si:
Me quedo con el plugin Pavilion y uso el fallback de Ember 3.
Cambio al calendario/eventos oficial en el núcleo.
@staff ¿Podría solicitar una pequeña actualización de moderación para el OP de este tema?
El plugin aquí (“Discourse Events”) no está mantenido por Pavilion y actualmente contiene código Ember obsoleto (this.router). Esto se ha confirmado en este hilo de soporte, donde la recomendación fue deshabilitar el plugin si estaba instalado.
Ahora mismo el OP no deja eso claro, lo que corre el riesgo de confusión con el plugin oficial Discourse Calendar / Event. ¿Consideraría agregar una breve nota en la parte superior (por ejemplo, “ Este plugin no se mantiene y contiene código obsoleto. No confundir con el plugin oficial discourse-calendar”)?
De esa manera, los futuros lectores no mezclarán los dos.
Gracias angus, me alegra mucho que hayas mantenido esta funcionalidad en funcionamiento. Sé que habías dejado de dar soporte profesional a discourse-events, así que significa mucho que todavía te hayas tomado el tiempo de implementar una solución aquí.
He probado el commit y ha resuelto el error del enrutador en mi sitio.
También he visto lo que Lhc_fl señaló anteriormente sobre el ayudante de etiquetas de eventos que utiliza código obsoleto; eso sigue siendo algo que hay que limpiar en el futuro. Y como señaló davidtaylor, esas advertencias (asociadas con APIs obsoletas) no deberían romper un sitio por sí solas, por lo que tiene sentido que tu corrección del enrutador fuera la pieza necesaria para que las cosas volvieran a funcionar.
Agradezco que mantengas este plugin activo en la versión actual de Discourse.
He heredado una instancia de Discourse alojada y me gustaría migrar al plugin nativo de Discourse Calendar and Events, principalmente debido a las advertencias que recibo sobre características obsoletas y porque puedo cargar eventos manualmente en nuestro sitio.
Sin embargo, cuando desinstalo o deshabilito el plugin, la categoría que estaba vinculada al plugin deja de cargar y recibo un útil mensaje de error
He intentado revertir la configuración sin éxito alguno. Cualquier ayuda será más que bienvenida.
Además, en la categoría para la que teníamos el plugin habilitado (ya no puedo ver la configuración), aparece un enlace a Calendario y Agenda en la barra superior
Además, en la configuración de la categoría tenemos estas opciones
¡Qué lata! Parece que todo está un poco enredado, ¿no?
Mi opinión es que se necesitaría una corrección en el plugin para desenredarlo. Y eso llevaría bastante tiempo y esfuerzo (es decir, dinero). Cabe destacar que actualmente se está trabajando activamente en ello, así que podrías tener suerte si actualizas tu sitio:
Tal vez podrías mover los temas fuera de esa categoría y luego eliminarla. Deberías (con suerte) poder navegar a ella mediante /c/football-1/saints-fixtures/34/l/latest para hacerlo desde la interfaz de usuario, o quizás podrías exportar e importar los temas desde la consola de Rails si fuera necesario.
He logrado mover todos los temas a una nueva categoría usando una tarea rake (Bulk move many topics from one category to another - #34 by tshenry) y luego he eliminado la categoría antigua y he renombrado la nueva categoría para que, con suerte, nadie note ninguna diferencia.
Ahora he logrado desactivar el plugin y el sitio funciona como se espera.