SharonBrizinov / slack-sounds

Customize your Slack sound notifications
92 stars 1 forks source link

Recent Slack Update Borked The Replaced Sound #2

Open mattiasbonte opened 1 year ago

mattiasbonte commented 1 year ago

Hi!

I've used your script 1 month ago and was amazed with the journey you underwent to change the sound. I'm happy you did it because I would've never had the patience to go so deep down the rabbit hole :P.

But the slack update of last week seems to have done something to it. The release notes are also not really helpfull.

When I run the script, the sound in my settings is indeed replaced, I can confirm this by selecting the sound in my settings itself and hear it play the replaced sound. But the actual sound that I hear whenever I receive a message is still the hummus sound.

Also whenever I click the show an example button I still get to hear the old sound.

image

Not sure if you are still into this :), but if you are, maybe you are able to fix it as well.

Cheers.

SharonBrizinov commented 1 year ago

Hi!

I just downloaded the latest version available on Mac and it worked.

Version 4.31.156
1956cb42668e2d1900f291ad272669fa598cdb22@1682564890 (Production)

Any chance you could try to delete the app, download & install and re-run the script? https://slack.com/downloads/

gavbaa commented 1 year ago

I've also been trying to get this to work. The sound will inject and be available in the settings panel (under "Hummus") once or maybe twice, and it might activate once maybe on a message, but almost immediately that alert choice will stop playing any noise whatsoever. I just get the normal OS-level toasts and no actual sounds played. Checking it in the settings panel after this will play nothing.

I've deleted and reinstalled Slack from a current download, and I've re-run the Python script after each quit.

Steps to recreate behavior:

  1. Start Slack
  2. open Settings panel
  3. Select "Hummus" (it will probably play)
  4. Select any other sound
  5. Select "Hummus" again. This will cause it not to play the second (or any future) time.

OSX: Ventura 13.3.1 Slack: 4.32.122

gavbaa commented 1 year ago

A bit more debugging:

If I setup as Hummus on all the relevant sound types, and then quit the client and run the Python script, I can see the file that has the changed size to reflect my new MP3 contents. In my case: /Users/zzz/Library/Application Support/Slack/Cache/Cache_Data/ab499256cee23e7f_s .

Before: ➜ Cache_Data ls -al ab499256cee23e7f_s -rw-------@ 1 zzz staff 13412 May 1 15:06 ab499256cee23e7f_s After: ➜ Cache_Data ls -al ab499256cee23e7f_s -rw-------@ 1 zzz staff 11963 May 1 15:18 ab499256cee23e7f_s

The sound does not play. Opening the settings panel and playing with the sound notification dropdowns will cause it to re-download and replace with the original Hummus file.

➜ Cache_Data ls -al ab499256cee23e7f_s -rw-------@ 1 zzz staff 13412 May 1 15:22 ab499256cee23e7f_s

Even re-running the Python client and overriding it at that point doesn't help (for the obvious reasons, I understand it's replacing it in process memory from the download and then doesn't fetch from the local cache again).

I'm wondering if there's some sort of additional index that needs to be updated? Since the sound won't even play on a clean start as the notification sound when I receive messages.

SharonBrizinov commented 1 year ago

Interesting.. It's hard for me to debug it because it works for me as-is (I just updated to v4.32.122 and it still works). Any chance you could close Slack, delete the cache file, open Slack again and share here the URL within the cache file (ab499256cee23e7f_s) ? mine's got https://a.slack-edge.com/bv1-10/hummus-200e354.mp3 but maybe it changes across regions.

NOTE: please do not share the entire cache file because it might contain personal info like your session.

gavbaa commented 1 year ago

Deleted from cache, restarted Slack, new file was fetched, contains: https://a.slack-edge.com/bv1-10/hummus-200e354.mp3 which matches what you have above. Also, a different size this time:

➜ Cache_Data ls -al ab499256cee23e7f_s -rw-------@ 1 zzz staff 13380 May 2 08:48 ab499256cee23e7f_s

So I deleted everything related to Slack. All profiles, preferences, every Library folder I could find after following a few walkthroughs. Opened Slack and got logged in again.

After running the Python process, back to the original post-updated size from my comments above:

➜ Cache_Data ls -al ab499256cee23e7f_s -rw-------@ 1 gav staff 11963 May 2 08:50 ab499256cee23e7f_s

The behaviors I see:

1) Every incoming notification now plays the "Hummus" sound. I've run the Python process and restarted Slack multiple times in all sorts of combinations. The output from the Python program indicates that it was successful, as does the change in file size.

[-] Searching for Slack dir
[-] Slack dir found at '/Users/zzz/Library/Application Support/Slack/Cache/Cache_Data'
[-] Searching for hummus sound cache file
[-] Found hummus sound cache file 'ab499256cee23e7f_s'
[-] Overwriting cache file '/Users/zzz/Library/Application Support/Slack/Cache/Cache_Data/ab499256cee23e7f_s' with '/Users/zzz/Downloads/BotW - Sheikah Sensor Ping.mp3'
[-] DONE! Please restart Slack and change the notification sound to Hummus (Slack-->Preferences-->Notifications-->Select Hummus)

Even with that, it only plays "Hummus".

2) Opening the settings panel and changing the sound away from and then back to Hummus plays my overridden sound, once. Every subsequent time plays no sound.

3) After doing this and exiting the Settings panel, messages coming in still just play the original Hummus sound.

I also made sure notifications were wide open in the OSX System Settings under Slack, which I think is why it's just playing the Hummus sound no matter what as opposed to when it was sometimes playing no sound. But from a messaging perspective, this just doesn't seem to be overriding "Hummus".

Thanks for your help!

gavbaa commented 1 year ago

Even easier reproduction step for me: pressing "Show an Example" on the Slack Settings panel plays the Hummus sound, even though if I pick it from the dropdown it clearly plays my override sound (once).

origooo commented 11 months ago

For me the issue appears slightly different.

I still have the original notification sound no matter which one of the pre-packed sounds I chose. When a click "show an example", it plays the origin la Hummus sound, but when I chose Hummus in the dropdown, my custom sound is played.

My cache file (after running the script) also point toward https://a.slack-edge.com/bv1-10/hummus-200e354.mp3.

I'm running Slack at version 4.33.73 and I'm still on macOS Monterey version 12.5.

Anything I can do to help out?

origooo commented 10 months ago

I just realised that the custom sound works fine for the outgoing messages that I myself send

mono-chrome commented 10 months ago

I am facing the exact same issue. Run the script, the script says it replaces the sound, I get a notification and still hear hummus. I've run this in all possible variations; replace and reload, replace and restart, replace restart change sound, replace change sound reload restart, etc..

This has stopped working for me sadly.

Version 4.33.90 ca970751dd1f06157081fd824290f385870c7665@1692329242 (Production)

[-] Searching for Slack dir
[-] Slack dir found at '/Users/mono-chrome/Library/Application Support/Slack/Cache/Cache_Data'
[-] Searching for hummus sound cache file
[-] Found hummus sound cache file 'ab499256cee23e7f_s'
[-] Overwriting cache file '/Users/mono-chrome/Library/Application Support/Slack/Cache/Cache_Data/ab499256cee23e7f_s' with 'turn.mp3'
[-] DONE! Please restart Slack and change the notification sound to Hummus (Slack-->Preferences-->Notifications-->Select Hummus)
SharonBrizinov commented 10 months ago

The script's functionality has been impacted by recent changes in Slack. It seems that Slack may now be utilizing the static sound file from the app.asar archive (instead of just using the cache files). While I suspect that patching the sound file within the asar archive could solve this, I haven't had the chance to investigate thoroughly. I welcome input from anyone who might have further information 😄

Christiaan-code commented 4 months ago

I also had the problem of the custom sound only playing once, and after some debugging I have found that the custom sound must be longer in duration (or just as long I assume) than the duration of the sound you are replacing. That fixed that problem.

As for the incoming sound, remember to replace the original sound file with the custom sound file (make sure the name is the same) in the Slack Package Contents (./Contents/Resources).

Hope that helps!

EDIT: That being said, that's what used to work, it doesn't work anymore for me. Sending messages and selecting a notification sound works perfectly, but receiving a message is mute. Please help 😂

marc-guenther commented 4 months ago

This broke today. I had it working since last November, but now I get the Humus sound, and no matter what I do, it stays that way.

Strangely, after I run the script, and then select Humus from the popup, I hear my own custom sound, but when I then click on "Example", it still plays Humus. Same for all notifications.

Any ideas anyone?

bcometa commented 2 weeks ago

Dang... also confirmed this no longer works after having never tried it before. Script runs successfully, sound stays the same (or no sound now).