diff --git a/img/LibremEmailNotification.ogg b/img/LibremEmailNotification.ogg new file mode 100644 index 00000000000..ebe8fb3ed51 Binary files /dev/null and b/img/LibremEmailNotification.ogg differ diff --git a/img/LibremPhoneCall.ogg b/img/LibremPhoneCall.ogg new file mode 100644 index 00000000000..51d1bc0ac78 Binary files /dev/null and b/img/LibremPhoneCall.ogg differ diff --git a/img/LibremPowerOn.ogg b/img/LibremPowerOn.ogg new file mode 100644 index 00000000000..f290a622d69 Binary files /dev/null and b/img/LibremPowerOn.ogg differ diff --git a/img/LibremTextMessage.ogg b/img/LibremTextMessage.ogg new file mode 100644 index 00000000000..567f9ce949e Binary files /dev/null and b/img/LibremTextMessage.ogg differ diff --git a/img/LibremVideoCall.ogg b/img/LibremVideoCall.ogg new file mode 100644 index 00000000000..9297f1dcac1 Binary files /dev/null and b/img/LibremVideoCall.ogg differ diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index 59a6a70ff63..ed833721117 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -118,6 +118,9 @@ protected function validateUserSetting(string $setting, $value): bool { return (int) $value === Participant::PRIVACY_PUBLIC || (int) $value === Participant::PRIVACY_PRIVATE; } + if ($setting === 'play_sounds') { + return $value === 'yes' || $value === 'no'; + } return false; } diff --git a/lib/TInitialState.php b/lib/TInitialState.php index b8a90082be5..4ad6750ee01 100644 --- a/lib/TInitialState.php +++ b/lib/TInitialState.php @@ -97,6 +97,11 @@ protected function publishInitialStateForUser(IUser $user, IRootFolder $rootFold $this->talkConfig->getUserReadPrivacy($user->getUID()) ); + $this->initialState->provideInitialState( + 'play_sounds', + $this->serverConfig->getUserValue($user->getUID(), 'spreed', 'play_sounds', 'yes') === 'yes' + ); + $attachmentFolder = $this->talkConfig->getAttachmentFolder($user->getUID()); $freeSpace = 0; @@ -167,5 +172,10 @@ protected function publishInitialStateForGuest(): void { 'enable_matterbridge', false ); + + $this->initialState->provideInitialState( + 'play_sounds', + false + ); } } diff --git a/src/components/SettingsDialog/SettingsDialog.vue b/src/components/SettingsDialog/SettingsDialog.vue index d4fe317acc3..4cbe4745ba7 100644 --- a/src/components/SettingsDialog/SettingsDialog.vue +++ b/src/components/SettingsDialog/SettingsDialog.vue @@ -54,6 +54,18 @@ @change="toggleReadStatusPrivacy"> + + + + {{ t('settings', 'Sounds can currently not be played in Safari browser and iPad and iPhone devices due to technical restrictions by the manufacturer.') }} +

{{ t('spreed', 'Speed up your Talk experience with these quick shortcuts.') }}

@@ -117,7 +129,10 @@