From 60a91b4584cd1cef8fd0142c3791774427e35e20 Mon Sep 17 00:00:00 2001 From: Damian Date: Sat, 6 Mar 2021 12:14:30 +0100 Subject: [PATCH] Add basic sound notification Sound file was downloaded from [here](https://notificationsounds.com/message-tones/that-was-quick-606). It's a basic sound notification that I could make with my skills. Probably it's not the perfect but it works and my users are happy. I didn't know how to add new feature so I modified branche with my installed version of Nextcloud Talk. Resolves: #760, #5096, #4651 --- src/App.vue | 13 +++++++++++++ src/assets/notification_sound.ogg | Bin 0 -> 16583 bytes webpack.common.js | 4 ++++ 3 files changed, 17 insertions(+) create mode 100644 src/assets/notification_sound.ogg diff --git a/src/App.vue b/src/App.vue index cb20685a227..bb58fb0d080 100644 --- a/src/App.vue +++ b/src/App.vue @@ -92,6 +92,7 @@ export default { defaultPageTitle: false, loading: false, isRefreshingCurrentConversation: false, + audio: null, } }, @@ -193,6 +194,10 @@ export default { return } + if (this.atLeastOneLastMessageIdChanged) { + this.getAudio().play() + } + this.setPageTitle(this.getConversationName(this.token), this.atLeastOneLastMessageIdChanged) }, }, @@ -463,6 +468,14 @@ export default { }) document.querySelector('.conversations-search')[0].focus() }, + + getAudio() { + if (this.audio == null) { + this.audio = new Audio(require('./assets/notification_sound.ogg')) + } + + return this.audio + }, }, } diff --git a/src/assets/notification_sound.ogg b/src/assets/notification_sound.ogg new file mode 100644 index 0000000000000000000000000000000000000000..618d06f90b24ff36c5701db53beb49cc4d9ba3c5 GIT binary patch literal 16583 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