Make notification sounds configurable
parent
c7c4a76b33
commit
dc7b51b38a
|
|
@ -516,16 +516,21 @@ export default class RoomClient
|
||||||
|
|
||||||
_soundNotification()
|
_soundNotification()
|
||||||
{
|
{
|
||||||
const alertPromise = this._soundAlert.play();
|
const { notificationSounds } = store.getState().settings;
|
||||||
|
|
||||||
if (alertPromise !== undefined)
|
if (notificationSounds)
|
||||||
{
|
{
|
||||||
alertPromise
|
const alertPromise = this._soundAlert.play();
|
||||||
.then()
|
|
||||||
.catch((error) =>
|
if (alertPromise !== undefined)
|
||||||
{
|
{
|
||||||
logger.error('_soundAlert.play() | failed: %o', error);
|
alertPromise
|
||||||
});
|
.then()
|
||||||
|
.catch((error) =>
|
||||||
|
{
|
||||||
|
logger.error('_soundAlert.play() | failed: %o', error);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2343,6 +2348,8 @@ export default class RoomClient
|
||||||
store.dispatch(
|
store.dispatch(
|
||||||
peerActions.addPeer({ id, displayName, picture, roles, consumers: [] }));
|
peerActions.addPeer({ id, displayName, picture, roles, consumers: [] }));
|
||||||
|
|
||||||
|
this._soundNotification();
|
||||||
|
|
||||||
store.dispatch(requestActions.notify(
|
store.dispatch(requestActions.notify(
|
||||||
{
|
{
|
||||||
text : intl.formatMessage({
|
text : intl.formatMessage({
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,11 @@ export const toggleHiddenControls = () =>
|
||||||
type : 'TOGGLE_HIDDEN_CONTROLS'
|
type : 'TOGGLE_HIDDEN_CONTROLS'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const toggleNotificationSounds = () =>
|
||||||
|
({
|
||||||
|
type : 'TOGGLE_NOTIFICATION_SOUNDS'
|
||||||
|
});
|
||||||
|
|
||||||
export const setLastN = (lastN) =>
|
export const setLastN = (lastN) =>
|
||||||
({
|
({
|
||||||
type : 'SET_LAST_N',
|
type : 'SET_LAST_N',
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ const AdvancedSettings = ({
|
||||||
roomClient,
|
roomClient,
|
||||||
settings,
|
settings,
|
||||||
onToggleAdvancedMode,
|
onToggleAdvancedMode,
|
||||||
|
onToggleNotificationSounds,
|
||||||
classes
|
classes
|
||||||
}) =>
|
}) =>
|
||||||
{
|
{
|
||||||
|
|
@ -43,6 +44,14 @@ const AdvancedSettings = ({
|
||||||
defaultMessage : 'Advanced mode'
|
defaultMessage : 'Advanced mode'
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
<FormControlLabel
|
||||||
|
className={classes.setting}
|
||||||
|
control={<Checkbox checked={settings.notificationSounds} onChange={onToggleNotificationSounds} value='notificationSounds' />}
|
||||||
|
label={intl.formatMessage({
|
||||||
|
id : 'settings.notificationSounds',
|
||||||
|
defaultMessage : 'Notification sounds'
|
||||||
|
})}
|
||||||
|
/>
|
||||||
{ !window.config.lockLastN &&
|
{ !window.config.lockLastN &&
|
||||||
<form className={classes.setting} autoComplete='off'>
|
<form className={classes.setting} autoComplete='off'>
|
||||||
<FormControl className={classes.formControl}>
|
<FormControl className={classes.formControl}>
|
||||||
|
|
@ -84,10 +93,11 @@ const AdvancedSettings = ({
|
||||||
|
|
||||||
AdvancedSettings.propTypes =
|
AdvancedSettings.propTypes =
|
||||||
{
|
{
|
||||||
roomClient : PropTypes.any.isRequired,
|
roomClient : PropTypes.any.isRequired,
|
||||||
settings : PropTypes.object.isRequired,
|
settings : PropTypes.object.isRequired,
|
||||||
onToggleAdvancedMode : PropTypes.func.isRequired,
|
onToggleAdvancedMode : PropTypes.func.isRequired,
|
||||||
classes : PropTypes.object.isRequired
|
onToggleNotificationSounds : PropTypes.func.isRequired,
|
||||||
|
classes : PropTypes.object.isRequired
|
||||||
};
|
};
|
||||||
|
|
||||||
const mapStateToProps = (state) =>
|
const mapStateToProps = (state) =>
|
||||||
|
|
@ -96,7 +106,8 @@ const mapStateToProps = (state) =>
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapDispatchToProps = {
|
const mapDispatchToProps = {
|
||||||
onToggleAdvancedMode : settingsActions.toggleAdvancedMode
|
onToggleAdvancedMode : settingsActions.toggleAdvancedMode,
|
||||||
|
onToggleNotificationSounds : settingsActions.toggleNotificationSounds
|
||||||
};
|
};
|
||||||
|
|
||||||
export default withRoomContext(connect(
|
export default withRoomContext(connect(
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@ const initialState =
|
||||||
resolution : window.config.defaultResolution || 'medium',
|
resolution : window.config.defaultResolution || 'medium',
|
||||||
lastN : 4,
|
lastN : 4,
|
||||||
permanentTopBar : true,
|
permanentTopBar : true,
|
||||||
hiddenControls : false
|
hiddenControls : false,
|
||||||
|
notificationSounds : true
|
||||||
};
|
};
|
||||||
|
|
||||||
const settings = (state = initialState, action) =>
|
const settings = (state = initialState, action) =>
|
||||||
|
|
@ -65,6 +66,13 @@ const settings = (state = initialState, action) =>
|
||||||
return { ...state, hiddenControls };
|
return { ...state, hiddenControls };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case 'TOGGLE_NOTIFICATION_SOUNDS':
|
||||||
|
{
|
||||||
|
const notificationSounds = !state.notificationSounds;
|
||||||
|
|
||||||
|
return { ...state, notificationSounds };
|
||||||
|
}
|
||||||
|
|
||||||
case 'SET_VIDEO_RESOLUTION':
|
case 'SET_VIDEO_RESOLUTION':
|
||||||
{
|
{
|
||||||
const { resolution } = action.payload;
|
const { resolution } = action.payload;
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "永久顶吧",
|
"settings.permanentTopBar": "永久顶吧",
|
||||||
"settings.lastn": "可见视频数量",
|
"settings.lastn": "可见视频数量",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "无法保存文件",
|
"filesharing.saveFileError": "无法保存文件",
|
||||||
"filesharing.startingFileShare": "正在尝试共享文件",
|
"filesharing.startingFileShare": "正在尝试共享文件",
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,7 @@
|
||||||
"settings.permanentTopBar": null,
|
"settings.permanentTopBar": null,
|
||||||
"settings.lastn": null,
|
"settings.lastn": null,
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Není možné uložit soubor",
|
"filesharing.saveFileError": "Není možné uložit soubor",
|
||||||
"filesharing.startingFileShare": "Pokouším se sdílet soubor",
|
"filesharing.startingFileShare": "Pokouším se sdílet soubor",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Permanente obere Leiste",
|
"settings.permanentTopBar": "Permanente obere Leiste",
|
||||||
"settings.lastn": "Anzahl der sichtbaren Videos",
|
"settings.lastn": "Anzahl der sichtbaren Videos",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Fehler beim Speichern der Datei",
|
"filesharing.saveFileError": "Fehler beim Speichern der Datei",
|
||||||
"filesharing.startingFileShare": "Starte Teilen der Datei",
|
"filesharing.startingFileShare": "Starte Teilen der Datei",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Permanent øverste linje",
|
"settings.permanentTopBar": "Permanent øverste linje",
|
||||||
"settings.lastn": "Antal synlige videoer",
|
"settings.lastn": "Antal synlige videoer",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Kan ikke gemme fil",
|
"filesharing.saveFileError": "Kan ikke gemme fil",
|
||||||
"filesharing.startingFileShare": "Forsøger at dele filen",
|
"filesharing.startingFileShare": "Forsøger at dele filen",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Μόνιμη μπάρα κορυφής",
|
"settings.permanentTopBar": "Μόνιμη μπάρα κορυφής",
|
||||||
"settings.lastn": "Αριθμός ορατών βίντεο",
|
"settings.lastn": "Αριθμός ορατών βίντεο",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Αδυναμία αποθήκευσης του αρχείου",
|
"filesharing.saveFileError": "Αδυναμία αποθήκευσης του αρχείου",
|
||||||
"filesharing.startingFileShare": "Προσπάθεια διαμοιρασμού αρχείου",
|
"filesharing.startingFileShare": "Προσπάθεια διαμοιρασμού αρχείου",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Permanent top bar",
|
"settings.permanentTopBar": "Permanent top bar",
|
||||||
"settings.lastn": "Number of visible videos",
|
"settings.lastn": "Number of visible videos",
|
||||||
"settings.hiddenControls": "Hidden media controls",
|
"settings.hiddenControls": "Hidden media controls",
|
||||||
|
"settings.notificationSounds": "Notification sounds",
|
||||||
|
|
||||||
"filesharing.saveFileError": "Unable to save file",
|
"filesharing.saveFileError": "Unable to save file",
|
||||||
"filesharing.startingFileShare": "Attempting to share file",
|
"filesharing.startingFileShare": "Attempting to share file",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Barra superior permanente",
|
"settings.permanentTopBar": "Barra superior permanente",
|
||||||
"settings.lastn": "Cantidad de videos visibles",
|
"settings.lastn": "Cantidad de videos visibles",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "No ha sido posible guardar el fichero",
|
"filesharing.saveFileError": "No ha sido posible guardar el fichero",
|
||||||
"filesharing.startingFileShare": "Intentando compartir el fichero",
|
"filesharing.startingFileShare": "Intentando compartir el fichero",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Barre supérieure permanente",
|
"settings.permanentTopBar": "Barre supérieure permanente",
|
||||||
"settings.lastn": "Nombre de vidéos visibles",
|
"settings.lastn": "Nombre de vidéos visibles",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Impossible d'enregistrer le fichier",
|
"filesharing.saveFileError": "Impossible d'enregistrer le fichier",
|
||||||
"filesharing.startingFileShare": "Début du transfert de fichier",
|
"filesharing.startingFileShare": "Début du transfert de fichier",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Stalna gornja šipka",
|
"settings.permanentTopBar": "Stalna gornja šipka",
|
||||||
"settings.lastn": "Broj vidljivih videozapisa",
|
"settings.lastn": "Broj vidljivih videozapisa",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Nije moguće spremiti datoteku",
|
"filesharing.saveFileError": "Nije moguće spremiti datoteku",
|
||||||
"filesharing.startingFileShare": "Pokušaj dijeljenja datoteke",
|
"filesharing.startingFileShare": "Pokušaj dijeljenja datoteke",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Állandó felső sáv",
|
"settings.permanentTopBar": "Állandó felső sáv",
|
||||||
"settings.lastn": "A látható videók száma",
|
"settings.lastn": "A látható videók száma",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "A file-t nem sikerült elmenteni",
|
"filesharing.saveFileError": "A file-t nem sikerült elmenteni",
|
||||||
"filesharing.startingFileShare": "Fájl megosztása",
|
"filesharing.startingFileShare": "Fájl megosztása",
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,7 @@
|
||||||
"settings.permanentTopBar": "Barra superiore permanente",
|
"settings.permanentTopBar": "Barra superiore permanente",
|
||||||
"settings.lastn": "Numero di video visibili",
|
"settings.lastn": "Numero di video visibili",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Impossibile salvare file",
|
"filesharing.saveFileError": "Impossibile salvare file",
|
||||||
"filesharing.startingFileShare": "Tentativo di condivisione file",
|
"filesharing.startingFileShare": "Tentativo di condivisione file",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Permanent topplinje",
|
"settings.permanentTopBar": "Permanent topplinje",
|
||||||
"settings.lastn": "Antall videoer synlig",
|
"settings.lastn": "Antall videoer synlig",
|
||||||
"settings.hiddenControls": "Skjul media knapper",
|
"settings.hiddenControls": "Skjul media knapper",
|
||||||
|
"settings.notificationSounds": "Varslingslyder",
|
||||||
|
|
||||||
"filesharing.saveFileError": "Klarte ikke å lagre fil",
|
"filesharing.saveFileError": "Klarte ikke å lagre fil",
|
||||||
"filesharing.startingFileShare": "Starter fildeling",
|
"filesharing.startingFileShare": "Starter fildeling",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Stały górny pasek",
|
"settings.permanentTopBar": "Stały górny pasek",
|
||||||
"settings.lastn": "Liczba widocznych uczestników (zdalnych)",
|
"settings.lastn": "Liczba widocznych uczestników (zdalnych)",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Nie można zapisać pliku",
|
"filesharing.saveFileError": "Nie można zapisać pliku",
|
||||||
"filesharing.startingFileShare": "Próba udostępnienia pliku",
|
"filesharing.startingFileShare": "Próba udostępnienia pliku",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Barra superior permanente",
|
"settings.permanentTopBar": "Barra superior permanente",
|
||||||
"settings.lastn": "Número de vídeos visíveis",
|
"settings.lastn": "Número de vídeos visíveis",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Impossível de gravar o ficheiro",
|
"filesharing.saveFileError": "Impossível de gravar o ficheiro",
|
||||||
"filesharing.startingFileShare": "Tentando partilha de ficheiro",
|
"filesharing.startingFileShare": "Tentando partilha de ficheiro",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Bara de sus permanentă",
|
"settings.permanentTopBar": "Bara de sus permanentă",
|
||||||
"settings.lastn": "Numărul de videoclipuri vizibile",
|
"settings.lastn": "Numărul de videoclipuri vizibile",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Încercarea de a salva fișierul a eșuat",
|
"filesharing.saveFileError": "Încercarea de a salva fișierul a eșuat",
|
||||||
"filesharing.startingFileShare": "Partajarea fișierului",
|
"filesharing.startingFileShare": "Partajarea fișierului",
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,7 @@
|
||||||
"settings.permanentTopBar": "Üst barı kalıcı yap",
|
"settings.permanentTopBar": "Üst barı kalıcı yap",
|
||||||
"settings.lastn": "İzlenebilir video sayısı",
|
"settings.lastn": "İzlenebilir video sayısı",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Dosya kaydedilemiyor",
|
"filesharing.saveFileError": "Dosya kaydedilemiyor",
|
||||||
"filesharing.startingFileShare": "Paylaşılan dosyaya erişiliyor",
|
"filesharing.startingFileShare": "Paylaşılan dosyaya erişiliyor",
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,7 @@
|
||||||
"settings.permanentTopBar": "Постійний верхній рядок",
|
"settings.permanentTopBar": "Постійний верхній рядок",
|
||||||
"settings.lastn": "Кількість видимих відео",
|
"settings.lastn": "Кількість видимих відео",
|
||||||
"settings.hiddenControls": null,
|
"settings.hiddenControls": null,
|
||||||
|
"settings.notificationSounds": null,
|
||||||
|
|
||||||
"filesharing.saveFileError": "Неможливо зберегти файл",
|
"filesharing.saveFileError": "Неможливо зберегти файл",
|
||||||
"filesharing.startingFileShare": "Спроба поділитися файлом",
|
"filesharing.startingFileShare": "Спроба поділитися файлом",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue