Skip to content

Instantly share code, notes, and snippets.

@konsalex
Created April 29, 2022 09:12
Show Gist options
  • Save konsalex/4dada233754998d993385a518017b856 to your computer and use it in GitHub Desktop.
Save konsalex/4dada233754998d993385a518017b856 to your computer and use it in GitHub Desktop.
Slack Notification Favicon removal ๐Ÿ˜Œ
// The default "no notifications" icon of Slack on web
const simpleFavicon =
"data:image/png;base64,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";
/**
* MutationObserver would be nicer to avoid the warning
* "Added synchronous DOM mutation listener to a 'DOMNodeInserted' event.
* Consider using MutationObserver to make the page more responsive."
*/
document.querySelector("head").addEventListener("DOMNodeInserted", (event) => {
const { target } = event;
if (target.tagName === "LINK") {
if (
target.getAttribute("rel") === "icon" ||
target.getAttribute("rel") === "shortcut icon"
) {
target.setAttribute("href", simpleFavicon);
}
}
});
@konsalex
Copy link
Author

Slack Desktop is killing my macbook resources, but Slack Web is killing my attention span with the little red notification dot ๐Ÿ”ด

I created this script to avoid having a small red dot on the Chrome tab, and feel less urgency to reply to not so urgent messages.

Feel free to refactor with a mutation observer if you want to or just use it ๐Ÿ™Œ

@maxstarkenburg
Copy link

Thanks for making this. I tried it out, then IIRC saw some error message about DOMNodeInserted being deprecated, so then tried converting the same functionality to a MutationObserver, then only to find that Slack is seemingly sending some header resulting in Content Security Policy: The pageโ€™s settings blocked the loading of a resource at eval (โ€œscript-srcโ€), so I'm pretty sure that's blocking any user script from running on its domain (and from a bit of GitHub issue perusing seems to maybe be an arms race between browsers and script extension providers (couldn't get it working on either Greasemonkey or Tampermonkey, not even just a basic alert())). Sigh.

For now I've resorted to what feels like a more heavy-handed approach, namely using a different FF extension, Favicon Switcher, which so far is doing the job (seems to briefly flash the other favicon upon notification before reverting to the one I uploaded). Haven't tried on Chrome, where that extension doesn't exist, but a similar sounding one (Favicon Changer) might do the job?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment