This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/plugins/chat/assets/javascripts/discourse/initializers/chat-audio.js
Joffrey JAFFEUX d54f347883
FIX: prevents playing chat sound when in DnD (#19575)
I couldn't figure a sane way to test this, I'm open to suggestions.
2022-12-22 11:19:54 +01:00

37 lines
845 B
JavaScript

import { withPluginApi } from "discourse/lib/plugin-api";
const MENTION = 29;
const MESSAGE = 30;
const CHAT_NOTIFICATION_TYPES = [MENTION, MESSAGE];
export default {
name: "chat-audio",
initialize(container) {
const chatService = container.lookup("service:chat");
if (!chatService.userCanChat) {
return;
}
const chatAudioManager = container.lookup("service:chat-audio-manager");
chatAudioManager.setup();
withPluginApi("0.12.1", (api) => {
api.registerDesktopNotificationHandler((data, siteSettings, user) => {
if (user.isInDoNotDisturb()) {
return;
}
if (!user.chat_sound) {
return;
}
if (CHAT_NOTIFICATION_TYPES.includes(data.notification_type)) {
chatAudioManager.play(user.chat_sound);
}
});
});
},
};