Varios ajustes no coinciden con la documentación y errores de interfaz

Estoy empezando con Discourse, así que quizás me esté perdiendo algo obvio, aunque no lo creo. Estoy usando la instancia alojada para proyectos de código abierto, así que no sé si tengo opciones limitadas o qué está pasando.

Configuraciones faltantes

Errores de interfaz de usuario

  • El menú de complementos no aparece excepto en el modo incógnito de Chrome. Firefox (incluido el modo incógnito) no aparece, así.


    Modo incógnito de Chrome abajo

    (Resuelto… AdBlocker)

  • El botón “Discord” de la integración de chat de Discord no tiene acción y tiene una barra de desplazamiento extraña debajo. No se realiza ninguna acción ni hay errores en el modo desarrollador al hacer clic en el botón.

  • Al crear una categoría, el botón “Añadir grupo de etiquetas requerido” falla “hasta después de que la categoría se haya guardado”

1 me gusta

Quita tu bloqueador de anuncios :rofl:

Lo de los webhooks está en la interfaz de Discord, no en Discourse. ¿Quizás cambiaron cómo funciona?

Esos ajustes están ocultos en algunos de nuestros niveles de alojamiento.

Desactiva tu adblock

Parece que eso ayudó con el menú de plugins. ¡Gracias!

Lo de los webhooks está en la interfaz de Discord, no en Discourse. ¿Quizás cambiaron su funcionamiento?

Sé cómo obtener el webhook de Discord (no ha cambiado)… pero necesito añadir la dirección del webhook en algún lugar de Discourse para que pueda enviarlo a Discord.

Esos ajustes están ocultos en algunos de nuestros niveles de alojamiento.

Es decepcionante. Me gustaría añadir un WidgetBot crate (integración de Discord) a la página… es una solución mucho mejor que (Deprecated) Display a "Discord Widget" in a dropdown button

<script src="https://cdn.jsdelivr.net/npm/@widgetbot/crate@3" async defer>
  new Crate({
    server: '299881420891881473',
    channel: '355719584830980096',
  })
</script>

Un fragmento de código bastante simple. Añadir su javascript de origen manualmente no funciona.

Supongo que no hay forma alternativa de habilitar esas opciones?

Quizás podría haber un proceso de solicitud para ver si el código fuente es seguro y se podría añadir a las instancias alojadas? O simplemente permitirlo ya que el javascript se ejecuta en el cliente y no en el host de todos modos?

1 me gusta

La forma correcta de proceder es crear un Theme component que haga lo que deseas. Un componente de este tipo puede incluir el JS de terceros como un activo propio, lo que es más seguro y será compatible con CSP.

Un ejemplo reciente que he hecho es GitHub - discourse/discourse-orgchart, que incluye 3 bibliotecas JS diferentes en sus activos y funciona perfectamente bajo CSP.

2 Me gusta

De acuerdo, eso me da una dirección. Estaba confundido acerca de extenderlo a través de settings.yml, pero está empezando a tener sentido. Este parece ser un ejemplo relevante: discourse-mermaid-theme-component/settings.yml at fa43854e66becf43626063e33dde29f636933d1f · discourse/discourse-mermaid-theme-component · GitHub

Por cierto, ¡aprecio tus respuestas!

Si quieres, una forma súper fácil a través de la UI es simplemente pegar el contenido de https://cdn.jsdelivr.net/npm/@widgetbot/crate@3 en una etiqueta de script como:

<script>
// pega todo el contenido de https://cdn.jsdelivr.net/npm/@widgetbot/crate@3 aquí
</script>
<script>
  new Crate({
    server: '299881420891881473',
    channel: '355719584830980096',
  })
</script>

Desafortunadamente, eso no funcionó.

Tampoco funciona extendiéndolo a través de un tema. :confused:

Entonces, ahora que mi menú de plugins funciona… parece que Discourse Voting no está incluido. ¿Es esto intencional? Imaginé que todos los plugins oficiales se incluirían por defecto.

No todos los plugins oficiales están incluidos en todos los planes de hosting

3 Me gusta