Certains icônes n'apparaissent pas après la migration

Chers,
I. Je souhaiterais signaler un comportement étrange de Discourse. Nous utilisons la version 2.7.0.beta7 et nous avons récemment migré (ou plutôt, nous avons établi un lien) de notre réseau interne vers Internet public. Nous rencontrons un problème étrange.
La plupart des icônes (celles sur lesquelles vous cliquez) ont disparu. Comme ceci :


Mais certaines fonctionnent correctement. J’ai tenté d’investiguer, mais je n’ai trouvé aucun motif. Ou alors, je ne le vois pas.

Vous pouvez vérifier cela vous-même ici : https://community.robotict.com

Je serais ravi si vous pouviez partager vos réflexions.
II. Également (mais cela pourrait ne pas être lié) — l’éditeur CSS personnalisé ne fonctionne pas. Je peux voir le CSS que j’ai ajouté pendant une demi-seconde, puis il disparaît. La console indique qu’il y a un problème avec 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: Merci d’avance et salutations cordiales :heart:
Roman

Que doit faire le bouton avec l’icône manquante ci-dessus ? Il semble qu’il s’agisse d’un plugin ou d’un composant de thème qui l’ajoute, et peut-être que l’icône n’a pas été enregistrée correctement ?

Cela peut également être un problème lié à un plugin. Une façon de le vérifier consiste à vous rendre sur /safe-mode, à désactiver tous les plugins et thèmes, puis à voir si l’édition du CSS fonctionne ensuite. Si c’est le cas, le problème vient d’un plugin.

Il y avait une icône de clé (Actions sur le sujet). De plus, comme vous pouvez (ne pouvez pas) le voir sur la capture d’écran, à gauche du texte « Répondre », vous devriez normalement voir un cœur, une chaîne, un stylo, un signet..
Je vais suivre votre conseil.
Mise à jour, testé en mode sans échec, aucun changement :frowning:

Hmm, oui, c’est étrange. Pourriez-vous partager quels plugins sont utilisés sur votre site ?

Mise à jour : c’est un problème vraiment bizarre, il affecte de manière cohérente les icônes à certains endroits de l’application mais pas à d’autres. Essayez peut-être de redéployer ?

Oui, c’est très étrange.
Nous utilisons uniquement ces deux plugins :

  • docker_manager v0.1
  • styleguide v0.2

Ok @romanhruska, je pense avoir une explication possible.

Quelque chose dans votre instance force le préfixe https pour une constante d’espace de nom SVG. Lorsque j’inspecte le code JS, l’équivalent de cette ligne dans le cœur renvoie https://www.w3.org/2000/svg, alors que, comme vous pouvez le voir dans le cœur, cela devrait être http://www.w3.org/2000/svg. (J’ai également testé localement, modifié cette ligne pour utiliser https, et j’ai une reproduction parfaite.)

Avez-vous des correctifs qui font cela ? Sinon, votre serveur effectue-t-il une manipulation pour s’assurer que toutes les chaînes http dans le JS sont converties en https ?

Boum !
Vous avez tout à fait raison. C’était bien le problème. Maintenant, les équipes des serveurs ont modifié la configuration, et les icônes ainsi que l’éditeur fonctionnent ! Merci beaucoup !!!

Nous continuons à nous battre avec l’avertissement de contenu mixte. Certaines images, comme les icônes ou le logo, sont codées en HTTP:// et notre magie serveur ne semble pas fonctionner sur elles. Des idées à ce sujet ?

Encore une fois, merci pour votre conseil !

Super !

Votre site était-il en interne sur http avant d’être migré vers https ? Vous devrez peut-être vous assurer que SiteSetting.force_https retourne true. Si c’est le cas, vous devrez peut-être procéder à un rebake. En ligne de commande, vous devrez exécuter bundle exec rake posts:rebake.