DEV Community


Why is Slack changing its internals?

mykeels profile image The Smith! 🛠 ・1 min read

This post by @changoman inspired many tools for changing Slack's visual themes.

It used to be fairly easy to find and edit Slack's ssb-interop.js file, to load a custom CSS which would change the way it looked.

With the recent release of v4.0, the file is gone, and exists as a bundled file within app.asar, a compressed file.

To achieve the same functionality, you'd have to extract app.asar into a folder, edit the dist/ssb-interop.bundle.js file, and compress the folder back into app.asar before restarting the application.

This means, that Slack's program loads content from the compressed file.

I wonder what the benefits of such an arrangement would be to Slack's internal architecture. Does anyone know?

Discussion (5)

sneakysneakysoysauce profile image

So i already see "app.asar.unpacked" within my Resources/Contents path under But i still don't see an ssb-interop.js file under dist.

Not sure how to unpack the app.asar file... i guess i'll start looking there.

mykeels profile image
The Smith! 🛠 Author

See how to unpack an asar file in this comment

ghostsquad profile image
Wes McNamee

How do you even create an "asar" file?

mykeels profile image
The Smith! 🛠 Author

See NPM asar

You can actually:

npx asar pack /path/to/dir

to create a *.asar compressed file, and

npx extract /path/to/file.asar --out-path /path/to/output/directory

to decompress an asar file to a directory.

If you'd rather not install NPM, I compiled these asar binaries for Windows, Linux and Mac OS with zeit's pkg

mykeels profile image
The Smith! 🛠 Author

If you've come here, looking for solution to change your slack's theme, checkout slack-theme-cli.

Forem Open with the Forem app