Some icons do not appear after migration

Dears,
I. I would love to report a strange behaviour of Discourse. We use 2.7.0.beta7 and we recently migrated (or rather be said linked) from internal network to public internet. We have a strange issue here.
Most of the icons (those you click on) disappeared. Like this:


But, some of them are working fine. I tried to investigate, I could not find any pattern. Or I just don’t see any.

You can check it yourself here: https://community.robotict.com

I would be super happy, if you can share any thought.
II. Also (but maybe that is not related problem) - the custom CSS editor does not work. I can see the css I added in past for a half of second, and then it is gone. Console is saying there is a problem with 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: With thanks in advance and kind greets :heart:
Roman

1 Like

What is the button with the missing icon above supposed to do? It looks like it might be a plugin or a theme component that adds it, and maybe it hasn’t registered the icon properly?

This can also be an issue with a plugin. One way to find out is to go to /safe-mode, disable all plugins and themes and see whether editing the CSS then works. If it does, it’s an issue with a plugin.

1 Like

There was a wrench icon (Topic Actions). Also, as you can (cannot) see on the screenshot, left to “Reply” text, you would normally see heart, chain, pen, bookmark…
I will check on your advice.
Update, tried in Safe mode, no change :frowning:

Hmm, yeah, that’s odd. Can you share which plugins are being used on your site?

Update: this is a really odd issue, it consistently affects icons in some places in the app but not others. Maybe try redeploying?

Yeah, it is very strange.
We use only these two plugins:

  • docker_manager v0.1
  • styleguide v0.2

Ok @romanhruska I think I have a possible explanation.

Something in your instance is forcing an https prefix for an SVG namespace constant. When I inspect the JS code, the equivalent for this line in core returns https://www.w3.org/2000/svg where as you can see in core, it should be http://www.w3.org/2000/svg. (I also tested locally, edited that line to use https, and I have a perfect repro.)

Do you have any patches that do this? If not, does your server do some magic to ensure all http strings in JS are turned into https?

1 Like

Bang!
You are absolutely right. This was the issue. Now the guys from servers changed the setup and the icons as well as the editor are working! Thank you a lot!!!

We are still fighting with the mixed-content warning. Some images such as icons or logo are in code as HTTP:// and our server magic seems to not work on them. Any ideas on this?

Once again, thank you for your hint!

1 Like

Oh great!

Was your site internally on http and then moved to https? You might have to ensure that SiteSetting.force_https returns true, and if that is the case, you might need to do a rebake. From the command line, you would need to run bundle exec rake posts:rebake.

2 Likes