Einige Icons erscheinen nach der Migration nicht

Liebe Community,

I. Ich möchte gerne ein seltsames Verhalten von Discourse melden. Wir nutzen Version 2.7.0.beta7 und haben kürzlich (oder besser gesagt: verknüpft) von unserem internen Netzwerk auf das öffentliche Internet umgestellt. Dabei haben wir ein merkwürdiges Problem festgestellt.

Die meisten Icons (die, auf die man klickt) sind verschwunden. So ähnlich:

Einige funktionieren jedoch einwandfrei. Ich habe versucht, dem auf den Grund zu gehen, konnte aber kein Muster erkennen – oder ich übersehe es einfach.

Sie können es selbst überprüfen unter: https://community.robotict.com

Ich wäre sehr dankbar, wenn Sie mir Ihre Gedanken dazu mitteilen könnten.

II. Außerdem (vielleicht ist das aber ein separates Problem) – der benutzerdefinierte CSS-Editor funktioniert nicht. Ich sehe das von mir hinzugefügte CSS nur für eine halbe Sekunde, dann verschwindet es wieder. In der Konsole wird ein Problem mit ace.js gemeldet:

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: Vielen Dank im Voraus und herzliche Grüße :heart:
Roman

Was soll der Knopf mit dem fehlenden Icon oben bewirken? Es sieht so aus, als wäre es ein Plugin oder ein Theme-Bestandteil, der es hinzufügt, und vielleicht wurde das Icon nicht ordnungsgemäß registriert?

Auch dies kann ein Problem mit einem Plugin sein. Eine Möglichkeit, das herauszufinden, besteht darin, zu /safe-mode zu gehen, alle Plugins und Themes zu deaktivieren und zu prüfen, ob das Bearbeiten des CSS dann funktioniert. Wenn ja, liegt das Problem bei einem Plugin.

Es gab ein Schraubenschlüssel-Symbol (Thema-Aktionen). Wie Sie auf dem Screenshot sehen (bzw. nicht sehen) können, befanden sich links neben dem Text „Antworten

Hmm, ja, das ist seltsam. Kannst du mir sagen, welche Plugins auf deiner Seite verwendet werden?

Update: Das ist ein wirklich seltsames Problem. Es betrifft konsistent Symbole an einigen Stellen in der App, aber nicht an anderen. Vielleicht solltest du es erneut bereitstellen?

Ja, das ist sehr seltsam.
Wir verwenden nur diese beiden Plugins:

  • docker_manager v0.1
  • styleguide v0.2

Ok @romanhruska, ich glaube, ich habe eine mögliche Erklärung.

Etwas in deiner Instanz zwingt ein https-Präfix für eine SVG-Namensraumkonstante. Wenn ich den JS-Code untersuche, liefert das Äquivalent zu dieser Zeile im Core https://www.w3.org/2000/svg, während es im Core, wie du sehen kannst, http://www.w3.org/2000/svg sein sollte. (Ich habe es auch lokal getestet, diese Zeile so editiert, dass sie https verwendet, und ich habe eine perfekte Reproduktion.)

Hast du irgendwelche Patches, die das tun? Falls nicht, führt dein Server irgendeine Magie aus, um sicherzustellen, dass alle http-Strings in JS in https umgewandelt werden?

Bumm!
Du hast absolut recht. Das war das Problem. Jetzt haben die Leute von den Servern die Einrichtung geändert, und sowohl die Symbole als auch der Editor funktionieren! Vielen Dank!!!

Wir kämpfen immer noch mit der Mixed-Content-Warnung. Einige Bilder wie Symbole oder das Logo sind im Code als HTTP:// angegeben, und unsere Server-Magie scheint bei ihnen nicht zu wirken. Hast du dazu eine Idee?

Nochmals vielen Dank für deinen Hinweis!

Super!

War deine Seite intern über HTTP und wurde dann auf HTTPS umgestellt? Du musst möglicherweise sicherstellen, dass SiteSetting.force_https den Wert true zurückgibt. Falls dies der Fall ist, musst du eventuell ein Re-Bake durchführen. Über die Kommandozeile müsstest du bundle exec rake posts:rebake ausführen.