notifications: Add a setting for changing the notification sound.

Also, add a new notification sound, "ding". It comes from
https://freesound.org, where the original Zulip notification sound comes
from as well. In the future, new sounds can be added by adding audio
files to the `static/audio/notification_sounds` directory.

Tweaked significantly by tabbott:
* Avoided removing static/audio/zulip.ogg, because that file is
  checked for by old versions of the desktop app.
* Added a views check for the sound being valid + tests.
* Added additional tests.
* Restructured the test_events test to be cleaner.
* Removed check_bool_or_string.
* Increased max length of notification_sound.
* Provide available_notification_sounds in events data set if global
  notifications settings are requested.

Fixes #8051.
This commit is contained in:
Marco Burstein
2018-01-11 12:36:11 -08:00
committed by Tim Abbott
parent 7026a8c574
commit ba46dc83c6
20 changed files with 220 additions and 15 deletions

View File

@@ -126,6 +126,7 @@ exports.build_page = function () {
var rendered_settings_tab = templates.render('settings_tab', {
full_name: people.my_full_name(),
page_params: page_params,
enable_sound_select: page_params.enable_sounds || page_params.enable_stream_sounds,
zuliprc: 'zuliprc',
botserverrc: 'botserverrc',
timezones: moment.tz.names(),