Algunos iconos no aparecen después de la migración

Estimados,

I. Me gustaría reportar un comportamiento extraño de Discourse. Estamos usando la versión 2.7.0.beta7 y recientemente migramos (o mejor dicho, vinculamos) nuestra instancia desde una red interna a internet público. Tenemos un problema extraño.

La mayoría de los iconos (aquellos en los que haces clic) han desaparecido. Como se ve aquí:

Sin embargo, algunos de ellos funcionan correctamente. Intenté investigar, pero no pude encontrar ningún patrón. O simplemente no lo veo.

Pueden verificarlo ustedes mismos aquí: https://community.robotict.com

Me encantaría mucho si pudieran compartir cualquier idea al respecto.

II. Además (aunque quizás no esté relacionado) el editor de CSS personalizado no funciona. Puedo ver el CSS que agregué anteriormente durante medio segundo, y luego desaparece. La consola indica que hay un problema con ace.js:

Uncaught TypeError: this.element.style is undefined
    i ace.js:1
    a ace.js:1
    y ace.js:1
    edit ace.js:1
    didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:315
    n ace.js:1
    a ace.js:1
    didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:303
    jQuery 10
    onreadystatechange _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10090
    c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10083
    c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10168
    jQuery 2
    c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10130
    didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:302
    jQuery 26
ace.js:1:247491

:pray: Agradeciendo de antemano y enviando cordiales saludos :heart:
Roman

¿Qué se supone que hace el botón que aparece arriba con el icono faltante? Parece que podría ser un complemento o un componente del tema que lo añade, y tal vez no haya registrado el icono correctamente.

Esto también puede ser un problema con un complemento. Una forma de averiguarlo es ir a /safe-mode, desactivar todos los complementos y temas y ver si entonces funciona la edición del CSS. Si funciona, el problema es de un complemento.

Había un icono de llave inglesa (Acciones del tema). Además, como puedes (no puedes) ver en la captura de pantalla, a la izquierda del texto “Responder”, normalmente verías un corazón, una cadena, un lápiz, un marcador…
Voy a revisar tu consejo.
Actualización: lo probé en modo seguro, sin cambios :frowning:

Hmm, sí, eso es extraño. ¿Podrías compartir qué plugins se están usando en tu sitio?

Actualización: este es un problema muy extraño; afecta consistentemente a los iconos en algunas partes de la aplicación, pero no en otras. ¿Quizás intentes volver a implementar?

Sí, es muy extraño.
Solo usamos estos dos complementos:

  • docker_manager v0.1
  • styleguide v0.2

Ok @romanhruska, creo que tengo una explicación posible.

Algo en tu instancia está forzando el prefijo https para una constante de espacio de nombres SVG. Cuando inspecciono el código JS, el equivalente a esta línea en el núcleo devuelve https://www.w3.org/2000/svg, mientras que, como puedes ver en el núcleo, debería ser http://www.w3.org/2000/svg. (También probé localmente, edité esa línea para usar https y logré una reproducción perfecta).

¿Tienes algún parche que haga esto? Si no es así, ¿tu servidor realiza alguna magia para convertir todas las cadenas http en JS a https?

¡Bang!
¡Tienes toda la razón! Ese era el problema. Ahora los chicos de los servidores cambiaron la configuración y tanto los iconos como el editor están funcionando. ¡Muchas gracias!

Aún estamos luchando con la advertencia de contenido mixto. Algunas imágenes, como los iconos o el logotipo, están en el código como HTTP:// y nuestra magia del servidor parece no funcionar con ellas. ¿Alguna idea sobre esto?

Una vez más, ¡gracias por tu consejo!

¡Qué bien!

¿Tu sitio estaba internamente en http y luego se movió a https? Es posible que debas asegurarte de que SiteSetting.force_https devuelva true, y si ese es el caso, podrías necesitar hacer un rebake. Desde la línea de comandos, deberías ejecutar bundle exec rake posts:rebake.