Componente de encabezados de categorías de Discourse

Esas etiquetas forman parte de la descripción de la categoría. Puedo intentar aplicar un html_safe, pero no estoy seguro de si esto introducirá vulnerabilidades.

@NateDhaliwal ¡No estoy seguro! Lo siento, no tengo idea de a qué corresponden estos errores ni de cómo encontrar el que se relaciona directamente con esa página.

¿Echaste un vistazo a cómo otros componentes manejan eso?
Supongo que es seguro. Al menos tengo la impresión de que el componente oficial de banner de categoría usa html-safe sin ningún escape por separado.

2 Me gusta

FWIW Parece ser un problema con algo que intenta usar la ruta antigua en lugar de la nueva /admin/config/user-fields.json.

También tiene una mención de:

¿Así que tal vez @RGJ sepa más? :crossed_fingers:

1 me gusta

TL;DR no. :slight_smile:

Versión larga:

Este es un plugin interno que usamos en nuestro hosting (similar al “sitio alojado” de CDCK) que agrega algunas funciones adicionales que necesitamos para alojar el sitio. Esta línea específica reemplaza el “no encontrado” de multisitio con un mensaje de error más detallado que indica que el propietario del sitio probablemente ha configurado mal su DNS.

Dado que parchea el middleware de multisitio, cada solicitud en cada sitio que alojamos pasa por él. Si ve este plugin en un rastreo de pila, y la línea lib/middleware/enforce_hostname.rb está inmediatamente encima de él, es una llamada normal y no la causa del problema.

3 Me gusta

¿Estás en la rama estable? Quizás la actualización rompió el plugin en la rama estable. Entonces podría ayudar si se agregara una entrada al archivo de compatibilidad.

2 Me gusta

@Moin No lo sé, ¿cómo puedo comprobar en qué rama estoy?

1 me gusta

Sí, estás en la versión estable @jackierenee.

5 Me gusta

Gracias por confirmar @RGJ

Entonces, ¿necesito simplemente esperar el pin de compatibilidad antes de añadir este componente de vuelta a nuestro sitio?

Estoy trabajando en una PR que esperemos solucione este problema.

3 Me gusta

:+1:

1 me gusta

Claro.

Sin el Componente de Tema, el texto en la descripción de la categoría es --font-up-3 por defecto. Esto es a través de la clase .category-heading. Creo que esto ha crecido en los últimos tiempos.

Con el Componente de Tema, el texto en la descripción de la categoría es --font-0. Esto se puede aumentar a --font-up-1 (más grande) o font-up-2 (el más grande). Ninguno de estos logra la nueva normalidad.

1 me gusta

Está bien, ¿así que esto está bien?
más pequeño - --font-up-2
normal - --font-up-3
más grande - --font-up-4
el más grande - --font-up-5
Cc: @Rhidian

1 me gusta

Hola @jackierenee, he fusionado una PR. ¿Podrías intentar actualizar y ver si funciona?

1 me gusta

Hola @NateDhaliwal Acabo de intentar actualizar y volví a añadir el componente a mi sitio. Las páginas de categoría siguen en blanco.

Y si intento usarlo en combinación con las cajas de categoría mínimas, también obtengo una página de inicio en blanco.

Quizás estoy haciendo algo mal, pero no sé cómo solucionarlo.

Ahora también me aparece un error en la parte superior de mi sitio:

Un detalle más, creo que este es el registro de errores relacionado con ese mensaje de error:

Message (4472 copies reported)

[db6814] ActionController::RoutingError (No route matches [GET] "/admin/customize/user_fields.json")
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'


Backtrace

actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:35:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
railties (7.2.2.1) lib/rails/rack/logger.rb:41:in `call_app'
railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
plugins/z-communiteq-features/plugin.rb:142:in `call'
rack (2.2.10) lib/rack/method_override.rb:24:in `call'
rack (2.2.10) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:385:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
rails_multisite (6.1.0) lib/rails_multisite/middleware.rb:26:in `call'
plugins/z-communiteq-features/plugin.rb:168:in `call'
railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.10) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.10) lib/rack/urlmap.rb:58:in `each'
rack (2.2.10) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `


Env

HTTP HOSTS: community.eaie.org

¡Gracias!

¿Hay algún error en la consola del navegador?
¿Podrías compartir la versión de Discourse en la que te encuentras actualmente? Esto está en la página /admin.
¡Gracias!

Hola @NateDhaliwal, lo siento, no sé qué significan exactamente los errores en la consola del navegador.

Creo que esta es la versión de Discourse que estoy ejecutando: Discourse 3.4.6 - GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. version 3d149ba8244585f4bcb41db77aa8825e72468bdb

Hola @NateDhaliwal, lo siento, pude resolverlo, aquí hay algunos de los errores:

Discourse v3.4.6 — https://github.com/discourse/discourse/commits/3d149ba824 — Ember v5.12.0
category-header.gjs:51 Uncaught TypeError: Cannot read properties of undefined (reading 'mobileView')
    at get showHeader (category-header.gjs:51:61)
    at eE (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at tV.evaluateSyscall (index.js:78:1)
    at tV.evaluateInner (index.js:78:1)
    at tV.evaluateOuter (index.js:78:1)
    at t1.next (index.js:78:1)
    at t1._execute (index.js:78:1)
    at t1.execute (index.js:78:1)
    at t2.sync (index.js:78:1)
    at t6.render (index.js:78:1)
    at index.js:78:1
    at tx (index.js:78:1)
    at io._renderRoots (index.js:78:1)
    at io._renderRootsTransaction (index.js:78:1)
    at io._revalidate (index.js:78:1)
    at invoke (index.js:78:1)
    at m.flush (index.js:78:1)
    at g.flush (index.js:78:1)
    at V._end (index.js:78:1)
    at V.end (index.js:78:1)
    at V._runExpiredTimers (index.js:78:1)Entender este error
category-header.gjs:51 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'mobileView')
    at get showHeader (category-header.gjs:51:61)
    at eE (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at tV.evaluateSyscall (index.js:78:1)
    at tV.evaluateInner (index.js:78:1)
    at tV.evaluateOuter (index.js:78:1)
    at t1.next (index.js:78:1)
    at t1._execute (index.js:78:1)
    at t1.execute (index.js:78:1)
    at t2.sync (index.js:78:1)
    at t6.render (index.js:78:1)
    at index.js:78:1
    at tx (index.js:78:1)
    at io._renderRoots (index.js:78:1)
    at io._renderRootsTransaction (index.js:78:1)
    at io._appendDefinition (index.js:78:1)
    at io.appendOutletView (index.js:78:1)
    at invoke (index.js:78:1)
    at m.flush (index.js:78:1)
    at g.flush (index.js:78:1)
    at V._end (index.js:78:1)
    at index.js:78:1Entender este error
category-header.gjs:51 Uncaught TypeError: Cannot read properties of undefined (reading 'mobileView')
    at get showHeader (category-header.gjs:51:61)
    at eE (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at tV.evaluateSyscall (index.js:78:1)
    at tV.evaluateInner (index.js:78:1)
    at tV.evaluateOuter (index.js:78:1)
    at t1.next (index.js:78:1)
    at t1._execute (index.js:78:1)
    at t1.execute (index.js:78:1)
    at t2.sync (index.js:78:1)
    at t6.render (index.js:78:1)
    at index.js:78:1
    at tx (index.js:78:1)
    at io._renderRoots (index.js:78:1)
    at io._renderRootsTransaction (index.js:78:1)
    at io._revalidate (index.js:78:1)
    at invoke (index.js:78:1)
    at m.flush (index.js:78:1)
    at g.flush (index.js:78:1)
    at V._end (index.js:78:1)
    at V.end (index.js:78:1)
    at V._runExpiredTimers (index.js:78:1)Entender este error
category-header.gjs:51 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'mobileView')
    at get showHeader (category-header.gjs:51:61)
    at eE (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at index.js:78:1
    at index.js:78:1
    at X (index.js:78:1)
    at T (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at Object.evaluate (index.js:78:1)
    at tV.evaluateSyscall (index.js:78:1)
    at tV.evaluateInner (index.js:78:1)
    at tV.evaluateOuter (index.js:78:1)
    at t1.next (index.js:78:1)
    at t1._execute (index.js:78:1)
    at t1.execute (index.js:78:1)
    at t2.sync (index.js:78:1)
    at t6.render (index.js:78:1)
    at index.js:78:1
    at tx (index.js:78:1)
    at io._renderRoots (index.js:78:1)
    at io._renderRootsTransaction (index.js:78:1)
    at io._revalidate (index.js:78:1)
    at invoke (index.js:78:1)
    at m.flush (index.js:78:1)
    at g.flush (index.js:78:1)
    at V._end (index.js:78:1)
    at index.js:78:1Entender este error
1 me gusta

Eso es muy extraño. Es raro que este error aparezca ahora, ya que this.site.mobileView estaba en la versión original :thinking:. No puedo reproducir esto con las últimas pruebas superadas, ¿podría ser una limitación de la versión estable (aunque, parece poco probable, el núcleo también lo usa)?.