fsavje / math-with-slack

Rendered math (MathJax) with Slack's desktop client
MIT License
431 stars 62 forks source link

Broken in v3.2.0-beta2 on Ubuntu 18.04 #33

Closed jeanluct closed 6 years ago

jeanluct commented 6 years ago

Hi all,

I upgraded Ubuntu last week and my math rendering in the Slack client stopped working. I haven't yet investigated this but I thought I'd check first if anybody else is having this problem. Whether you do or not, please let me know if you upgraded to 18.04 or installed from scratch.

Jean-Luc

fsavje commented 6 years ago

Hi Jean-Luc,

Thank you for the report. Have you tried re-running the script? Slack may have been updated at the same time as you upgraded to 18.04, in which case the script must be re-injected. Please let me know if this doesn't work.

jeanluct commented 6 years ago

Hi Fredrik,

Yes, I did try re-running the script (I forgot to mention that). I just uninstalled and reinstalled slack-desktop again, and then:

> sudo ./math-with-slack.sh 
Using Slack installation at: /usr/lib/slack/resources/app.asar.unpacked/src/static
math-with-slack has been installed. Please restart the Slack client.

So no problems there.

It could be that the upgrade messed up mathjax somehow? I do see the packages libjs-mathjax and fonts-mathjax installed. Do you know a good way to test if mathjax is functioning correctly?

Jean-Luc

fsavje commented 6 years ago

Sorry for the slow reply. Just to confirm, everything is working as expected after the reinstallation? If that's the case, I suspect is was simply the injected files that got overwritten.

The local libjs-mathjax and fonts-mathjax packages should not matter here. Everything is run with the online library. In nearly all cases, the issue is not with MathJax itself, but rather that Slack isn't loading the library properly.

jeanluct commented 6 years ago

No, sorry I wasn't clear: the script runs without errors, but I still can't see formatted math. I've rebooted a few times, and as noted above also tried to uninstall / reinstall the slack-desktop package.

This is happening on both my Ubuntu 18.04 machines.

LaurentHayez commented 6 years ago

Hello Jean-Luc,

This might be a stupid question, but did you try to reload slack (Ctrl+R)? When I installed slack-desktop on my machine, I think I had the same issue until I did this (I don't think I uninstalled and re-installed slack-desktop, but rebooting was not sufficient to display maths).

jeanluct commented 6 years ago

Good thinking Laurent, I just tried it -- but it didn't work.

I'd love to hear if anybody has math working on Ubuntu 18.04.

LaurentHayez commented 6 years ago

Hello Jean-Luc,

I have a machine running Ubuntu 16.04 at home. I'll try to upgrade it to Ubuntu 18.04 tonight or tomorrow, and I will let you know whether math-with-slack works on this machine or not.

jeanluct commented 6 years ago

Thanks Laurent, but please do break your system on my account!

LaurentHayez commented 6 years ago

Hi Jean-Luc,

So I upgraded to Ubuntu 18.04, and bad news, maths are not rendered on my computer either!

However, I got the following log from the app, which might help.

[06/02/18, 00:29:26:546] info: ╔══════════════════════════════════════════════════════════════════════════════════════════════╗ [06/02/18, 00:29:26:547] info: ║ Slack 3.2.0-beta25a7a50e, linux 4.15.0-22-generic on x64 at 06/02/18, 00:29:26:542 ║ [06/02/18, 00:29:26:547] info: ╚══════════════════════════════════════════════════════════════════════════════════════════════╝ [06/02/18, 00:29:26:683] info: Initializing local storage instance at path: /home/laurent/.config/Slack/local-settings.json [06/02/18, 00:29:26:930] error: Unable to load preload script: /usr/lib/slack/resources/app.asar/src/static/ssb-interop.js [06/02/18, 00:29:26:930] error: ReferenceError: path is not defined at Object.<anonymous> (/usr/lib/slack/resources/app.asar/src/static/ssb-interop.js:58:12) at Object.<anonymous> (/usr/lib/slack/resources/app.asar/src/static/ssb-interop.js:61:3) at Module._compile (module.js:642:30) at Object.Module._extensions..js (module.js:653:10) at Module.load (module.js:561:32) at tryModuleLoad (module.js:504:12) at Function.Module._load (module.js:496:3) at Module.require (module.js:586:17) at require (internal/module.js:11:18) at Object.<anonymous> (/usr/lib/slack/resources/electron.asar/renderer/init.js:197:5) [06/02/18, 00:29:27:092] error: Desktop module calls failed to load { "error": { "message": "libCallsCore.so: cannot open shared object file: No such file or directory", "stack": "Error: libCallsCore.so: cannot open shared object file: No such file or directory\n at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)\n at Object.Module._extensions..node (module.js:671:18)\n at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)\n at Module.load (module.js:561:32)\n at tryModuleLoad (module.js:504:12)\n at Function.Module._load (module.js:496:3)\n at Module.require (module.js:586:17)\n at require (internal/module.js:11:18)\n at bindings (/usr/lib/slack/resources/app.asar/node_modules/@slack/slack-calls-prebuilt/modules/@slack/slack-calls/node_modules/bindings/bindings.js:81:44)\n at Object.<anonymous> (/usr/lib/slack/resources/app.asar/node_modules/@slack/slack-calls-prebuilt/modules/@slack/slack-calls/index.js:1:192)" } }

I'll try to investigate further tomorrow.

jeanluct commented 6 years ago

Hi Laurent -- well, this is good news from my viewpoint! Glad I wasn't just doing something stupid.

Thanks for trying it out,

Jean-Luc

LaurentHayez commented 6 years ago

Hi Jean-Luc,

Just to let you know I tried a few things this week-end, and my conclusion is that the bug might come from slack-desktop latest version.

I tried to install an older version of slack-desktop (I think 3.0.2 on top of my head), and after injecting math-with-slack, maths were rendered. I could provide the old slack-desktop file for installation if you wish.

Hope that helps.

Laurent

jeanluct commented 6 years ago

Thanks, Laurent. I updated the issue name to reflect the version number.

I tried to downgrade slack-client to 3.1.1, but the earlier version depends on libcurl3 and Ubuntu 18.04 uses libcurl4. Somehow I don't think this is related to the problem, though.

fsavje commented 6 years ago

Hi Jean and Laurent! I finally found some time to look at this. Could you please test the this script: https://github.com/fsavje/math-with-slack/releases/download/v0.2.4/math-with-slack.sh Please let me know if it works asap.

jeanluct commented 6 years ago

Success! Math is back. Thanks so much, Fredrik.

fsavje commented 6 years ago

I'm glad it worked. Thanks for reporting and looking into this.