Un usuario administrador está experimentando un error extraño después de actualizar Discourse. El error ocurre cuando el usuario hace clic en el botón «Atrás» o en el logotipo del sitio. Parece activar JavaScript para ir a la raíz/inicio del sitio, pero en su lugar se generan los siguientes errores:
También he descubierto que esto ocurre con cualquier clic en la barra de navegación, como intentar ir a /admin.
¿Alguna idea sobre cómo rastrear esto más a fondo? No veo ningún error en production.log ni en otro lugar, así que esto ha sido un verdadero rompecabezas, ya que parece estar vinculado a JavaScript.
Sigo encontrando callejones sin salida en la depuración hasta ahora. Debo sospechar que el “Modo Seguro” no deshabilita completamente el JavaScript debido a esto… ¿Hay algún otro paso que pueda eliminar aún más el JavaScript de la funcionalidad para pruebas?
¿Es tu sitio accesible públicamente? Si es así, ¿tienes alguna posibilidad de compartir un enlace? (Por mensaje privado está bien si prefieres no publicarlo).
Gracias por el enlace, @mreach. Desde aquí no veo ningún problema evidente.
Mencionaste que esto solo está afectando a un usuario del sitio. ¿Sabes si el problema se limita a un solo navegador o dispositivo? ¿O le ocurre a este usuario incluso cuando inicia sesión con un dispositivo diferente?
Si es solo un navegador o dispositivo, podría indicar que una extensión del navegador (por ejemplo, un bloqueador de anuncios) está interfiriendo con el código de Discourse.
Si le afecta en todos los navegadores, entonces es más complicado. ¿Tienes instalados plugins de terceros en tu foro? También sería interesante saber qué tiene configurado el usuario para su “página de inicio predeterminada” (que se encuentra en las preferencias de “interfaz” de Discourse).
Gracias, sí, he tenido casi los mismos pensamientos. Les pedí que desactivaran todas las extensiones y borraran todos los datos del navegador. Acabo de tener a OTRO usuario que reporta el mismo problema… Y ambos están en Chrome. Les pedí que probaran Firefox y Brave, y ambos dijeron que les funcionó allí, pero nada de lo que intentaron parece hacer que Chrome vuelva a funcionar “correctamente” para ellos. Les volví a preguntar por los resultados en modo Incógnito y ambos reportaron que Incógnito SÍ funciona. Además, todo esto ocurrió después de la última actualización de Discourse, por lo que parece que algo no se está limpiando en JS de alguna manera… Lo cual realmente no entiendo cómo podría ser posible.
Les he preguntado qué tienen configurado como su página de inicio… Te mantendré informado. Es una muy buena idea que no se me había ocurrido…
El usuario que tiene el problema tiene “Categorías” configurado como su inicio:
Si lo cambian a otro, como “Recientes” en su lugar, PUEDEN cargar la página de inicio haciendo clic en el logotipo del sitio Y usando la flecha “atrás” del navegador. Si vuelven a cambiar a “Categorías” en lugar de “Recientes”, el problema/error vuelve a aparecer.
Así que este usuario también es administrador y, si/cuando hacen clic en el icono de hamburguesa en la esquina superior derecha y seleccionan “Admin”, también obtienen el error reportado anteriormente, incluso cuando la página de inicio está cambiada a “Recientes” en lugar de “Categorías”.
Por supuesto, eso es información nueva, pero no del todo útil desde mi perspectiva. Hmm.
¿Hay alguna posibilidad de obtener más detalles sobre estos errores? Todos deberían ser expandibles y, con suerte, incluir un poco más de información sobre el error.
Me temo que no; estos registros son bastante genéricos y no parecen indicar mucho sobre la causa real.
El registro más interesante es el que aparece en la parte superior de la captura de pantalla que compartiste, y también es la última entrada en Pastebin:
Podría ser útil saber qué hay en el .... Si haces clic en el pequeño triángulo a la izquierda del registro, debería expandirse para mostrar más información. Una copia y pega, o una captura de pantalla de eso, podría ayudar.
Por separado, ¿estás viendo algún error del lado del servidor (en /logs)? ¿Y estás ejecutando la última versión de Discourse?
Esa es una implementación de página de error que se muestra cuando el sitio está en mantenimiento (como una actualización o una actualización de Docker)…
Supongo que tu sitio no estaba en mantenimiento deliberado en el momento del error. En ese caso, debe haber algún problema con la implementación o configuración de ese proxy. Para descartarlo, ¿podrías exponer Discourse directamente en los puertos 80/443? (según nuestras instrucciones estándar de instalación).
Por supuesto, es posible que un error en Discourse esté causando que el proxy muestre este mensaje. Pero es difícil diagnosticarlo sin saber qué estaba devolviendo Discourse. ¿Acaso tu proxy guarda registros de las respuestas de Discourse aguas arriba?