From 2a4405fb7fd89b57d76f41fbaf10d007fcfc9bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Mih=C3=A1ly?= Date: Mon, 18 May 2020 23:24:07 +0200 Subject: [PATCH 01/36] Add version to about --- app/.env | 2 ++ app/src/components/Controls/About.js | 19 ++++++++++++++----- app/src/translations/cn.json | 1 + app/src/translations/cs.json | 1 + app/src/translations/de.json | 1 + app/src/translations/dk.json | 1 + app/src/translations/el.json | 1 + app/src/translations/en.json | 1 + app/src/translations/es.json | 1 + app/src/translations/fr.json | 1 + app/src/translations/hr.json | 1 + app/src/translations/hu.json | 1 + app/src/translations/it.json | 1 + app/src/translations/lv.json | 1 + app/src/translations/nb.json | 1 + app/src/translations/pl.json | 1 + app/src/translations/pt.json | 1 + app/src/translations/ro.json | 1 + app/src/translations/tr.json | 1 + app/src/translations/tw.json | 1 + app/src/translations/uk.json | 1 + 21 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 app/.env diff --git a/app/.env b/app/.env new file mode 100644 index 0000000..86c714e --- /dev/null +++ b/app/.env @@ -0,0 +1,2 @@ +REACT_APP_VERSION=$npm_package_version +REACT_APP_NAME=$npm_package_name \ No newline at end of file diff --git a/app/src/components/Controls/About.js b/app/src/components/Controls/About.js index d361a8c..c7da15f 100644 --- a/app/src/components/Controls/About.js +++ b/app/src/components/Controls/About.js @@ -42,8 +42,9 @@ const styles = (theme) => }, link : { - display : 'block', - textAlign : 'center' + display : 'block', + textAlign : 'center', + marginBottom : '1em' } }); @@ -68,15 +69,16 @@ const About = ({ /> - + Contributions to this work were made on behalf of the GÉANT project, a project that has received funding from the European Union’s Horizon 2020 research and innovation programme under Grant Agreement No. 731122 (GN4-2). On behalf of GÉANT project, GÉANT Association is the sole owner of the copyright in all material which was developed - by a member of the GÉANT project.
-
+ by a member of the GÉANT project. +
+ GÉANT Vereniging (Association) is registered with the Chamber of Commerce in Amsterdam with registration number 40535155 and operates in the UK as a branch of GÉANT @@ -87,6 +89,13 @@ const About = ({ https://edumeet.org + + + :{` ${process.env.REACT_APP_VERSION}`} +
{ window.config.logo && Logo } diff --git a/app/src/translations/cn.json b/app/src/translations/cn.json index c5f79e4..bce7bd6 100644 --- a/app/src/translations/cn.json +++ b/app/src/translations/cn.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "设置", "settings.camera": "视频设备", diff --git a/app/src/translations/cs.json b/app/src/translations/cs.json index c1ea569..ec8caf8 100644 --- a/app/src/translations/cs.json +++ b/app/src/translations/cs.json @@ -118,6 +118,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Nastavení", "settings.camera": "Kamera", diff --git a/app/src/translations/de.json b/app/src/translations/de.json index 9339d4f..1fa0d8c 100644 --- a/app/src/translations/de.json +++ b/app/src/translations/de.json @@ -119,6 +119,7 @@ "label.addVideo": "Video hinzufügen", "label.promoteAllPeers": "Alle Teilnehmer reinlassen", "label.moreActions": "Weitere Aktionen", + "label.version": null, "settings.settings": "Einstellungen", "settings.camera": "Kamera", diff --git a/app/src/translations/dk.json b/app/src/translations/dk.json index edeb619..190dc52 100644 --- a/app/src/translations/dk.json +++ b/app/src/translations/dk.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Indstillinger", "settings.camera": "Kamera", diff --git a/app/src/translations/el.json b/app/src/translations/el.json index 6807831..695ca42 100644 --- a/app/src/translations/el.json +++ b/app/src/translations/el.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Ρυθμίσεις", "settings.camera": "Κάμερα", diff --git a/app/src/translations/en.json b/app/src/translations/en.json index 30c21d7..653f3b3 100644 --- a/app/src/translations/en.json +++ b/app/src/translations/en.json @@ -119,6 +119,7 @@ "label.addVideo": "Add video", "label.promoteAllPeers": "Promote all", "label.moreActions": "More actions", + "label.version": "Version", "settings.settings": "Settings", "settings.camera": "Camera", diff --git a/app/src/translations/es.json b/app/src/translations/es.json index 4e0c12a..0156bed 100644 --- a/app/src/translations/es.json +++ b/app/src/translations/es.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Ajustes", "settings.camera": "Cámara", diff --git a/app/src/translations/fr.json b/app/src/translations/fr.json index 0f2ac0b..4c6f9e2 100644 --- a/app/src/translations/fr.json +++ b/app/src/translations/fr.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Paramètres", "settings.camera": "Caméra", diff --git a/app/src/translations/hr.json b/app/src/translations/hr.json index 59873d4..3329d51 100644 --- a/app/src/translations/hr.json +++ b/app/src/translations/hr.json @@ -119,6 +119,7 @@ "label.addVideo": "Dodaj video", "label.promoteAllPeers": "Promoviraj sve", "label.moreActions": "Više akcija", + "label.version": null, "settings.settings": "Postavke", "settings.camera": "Kamera", diff --git a/app/src/translations/hu.json b/app/src/translations/hu.json index 1a2832b..287fed6 100644 --- a/app/src/translations/hu.json +++ b/app/src/translations/hu.json @@ -119,6 +119,7 @@ "label.addVideo": "Videó hozzáadása", "label.promoteAllPeers": "Mindenkit beengedek", "label.moreActions": "További műveletek", + "label.version": "Verzió", "settings.settings": "Beállítások", "settings.camera": "Kamera", diff --git a/app/src/translations/it.json b/app/src/translations/it.json index 02b53e7..3aaa21d 100644 --- a/app/src/translations/it.json +++ b/app/src/translations/it.json @@ -119,6 +119,7 @@ "label.addVideo": "Aggiungi video", "label.promoteAllPeers": "Promuovi tutti", "label.moreActions": "Altre azioni", + "label.version": null, "settings.settings": "Impostazioni", "settings.camera": "Videocamera", diff --git a/app/src/translations/lv.json b/app/src/translations/lv.json index 62ee61e..46f2f9b 100644 --- a/app/src/translations/lv.json +++ b/app/src/translations/lv.json @@ -116,6 +116,7 @@ "label.advanced": "Advancēts", "label.addVideo": "Pievienot video", "label.moreActions": null, + "label.version": null, "settings.settings": "Iestatījumi", "settings.camera": "Kamera", diff --git a/app/src/translations/nb.json b/app/src/translations/nb.json index 5bafeb6..d497bbd 100644 --- a/app/src/translations/nb.json +++ b/app/src/translations/nb.json @@ -119,6 +119,7 @@ "label.addVideo": "Legg til video", "label.promoteAllPeers": "Slipp inn alle", "label.moreActions": "Flere handlinger", + "label.version": null, "settings.settings": "Innstillinger", "settings.camera": "Kamera", diff --git a/app/src/translations/pl.json b/app/src/translations/pl.json index 7612f99..33883ee 100644 --- a/app/src/translations/pl.json +++ b/app/src/translations/pl.json @@ -119,6 +119,7 @@ "label.addVideo": "Dodaj wideo", "label.promoteAllPeers": "Wpuść wszystkich", "label.moreActions": "Więcej akcji", + "label.version": null, "settings.settings": "Ustawienia", "settings.camera": "Kamera", diff --git a/app/src/translations/pt.json b/app/src/translations/pt.json index a2a3310..adfa08e 100644 --- a/app/src/translations/pt.json +++ b/app/src/translations/pt.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Definições", "settings.camera": "Camera", diff --git a/app/src/translations/ro.json b/app/src/translations/ro.json index 7161bd4..f1e69b5 100644 --- a/app/src/translations/ro.json +++ b/app/src/translations/ro.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Setări", "settings.camera": "Cameră video", diff --git a/app/src/translations/tr.json b/app/src/translations/tr.json index 1876bab..dc40126 100644 --- a/app/src/translations/tr.json +++ b/app/src/translations/tr.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Ayarlar", "settings.camera": "Kamera", diff --git a/app/src/translations/tw.json b/app/src/translations/tw.json index 99c32d7..83f25ab 100644 --- a/app/src/translations/tw.json +++ b/app/src/translations/tw.json @@ -118,6 +118,7 @@ "label.addVideo": "新增視訊", "label.promoteAllPeers": "提升全部", "label.moreActions": "更多", + "label.version": null, "settings.settings": "設置", "settings.camera": "視訊來源", diff --git a/app/src/translations/uk.json b/app/src/translations/uk.json index 2ee6774..56d8cec 100644 --- a/app/src/translations/uk.json +++ b/app/src/translations/uk.json @@ -119,6 +119,7 @@ "label.addVideo": null, "label.promoteAllPeers": null, "label.moreActions": null, + "label.version": null, "settings.settings": "Налаштування", "settings.camera": "Камера", From 868b91a776c96ac8ef0467f85df9bd2688c7fc46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Mih=C3=A1ly?= Date: Tue, 12 May 2020 11:01:10 +0200 Subject: [PATCH 02/36] Detect unsupported browsers, add a dialog --- app/src/components/UnsupportedBrowser.js | 154 +++++++++++++++++++++++ app/src/index.js | 49 +++++++- app/src/translations/cn.json | 6 +- app/src/translations/cs.json | 6 +- app/src/translations/de.json | 6 +- app/src/translations/dk.json | 6 +- app/src/translations/el.json | 6 +- app/src/translations/en.json | 6 +- app/src/translations/es.json | 6 +- app/src/translations/fr.json | 6 +- app/src/translations/hr.json | 6 +- app/src/translations/hu.json | 7 +- app/src/translations/it.json | 9 +- app/src/translations/lv.json | 6 +- app/src/translations/nb.json | 6 +- app/src/translations/pl.json | 6 +- app/src/translations/pt.json | 6 +- app/src/translations/ro.json | 6 +- app/src/translations/tr.json | 6 +- app/src/translations/tw.json | 6 +- app/src/translations/uk.json | 6 +- 21 files changed, 300 insertions(+), 21 deletions(-) create mode 100644 app/src/components/UnsupportedBrowser.js diff --git a/app/src/components/UnsupportedBrowser.js b/app/src/components/UnsupportedBrowser.js new file mode 100644 index 0000000..d328f98 --- /dev/null +++ b/app/src/components/UnsupportedBrowser.js @@ -0,0 +1,154 @@ +import React from 'react'; +import { withStyles } from '@material-ui/core/styles'; +import PropTypes from 'prop-types'; +import { FormattedMessage } from 'react-intl'; + +import Dialog from '@material-ui/core/Dialog'; +import DialogTitle from '@material-ui/core/DialogTitle'; +import DialogContent from '@material-ui/core/DialogContent'; +import Grid from '@material-ui/core/Grid'; +import List from '@material-ui/core/List'; +import ListItem from '@material-ui/core/ListItem'; +import ListItemText from '@material-ui/core/ListItemText'; +import ListItemAvatar from '@material-ui/core/ListItemAvatar'; +import Avatar from '@material-ui/core/Avatar'; +import WebAssetIcon from '@material-ui/icons/WebAsset'; +import ErrorIcon from '@material-ui/icons/Error'; +import Hidden from '@material-ui/core/Hidden'; + +const styles = (theme) => + ({ + dialogPaper : + { + width : '40vw', + [theme.breakpoints.down('lg')] : + { + width : '40vw' + }, + [theme.breakpoints.down('md')] : + { + width : '50vw' + }, + [theme.breakpoints.down('sm')] : + { + width : '70vw' + }, + [theme.breakpoints.down('xs')] : + { + width : '90vw' + } + // display : 'flex', + // flexDirection : 'column' + }, + list : { + backgroundColor : theme.palette.background.paper + }, + errorAvatar : { + width : theme.spacing(20), + height : theme.spacing(20) + } + }); + +const open=true; +const dividers=true; + +let dense=false; + +const supportedBrowsers=[ + { name: 'Chrome/Chromium', version: '74', vendor: 'Google' }, + { name: 'Edge', version: '18', vendor: 'Microsoft' }, + { name: 'Firefox', version: '60', vendor: 'Mozilla' }, + { name: 'Safari', version: '12', vendor: 'Apple' }, + { name: 'Opera', version: '62', vendor: '' }, + // { name: 'Brave', version: '1.5', vendor: '' }, + // { name: 'Vivaldi', version: '3', vendor: '' }, + { name: 'Samsung Internet', version: '11.1.1.52', vendor: '' } +]; + +const UnsupportedBrowser = ({ + platform, + webrtcUnavailable, + classes +}) => +{ + if (platform !== 'desktop') + { + dense=true; + } + + return ( + + + {!webrtcUnavailable && + + } + {webrtcUnavailable && + + } + + + + + + +
+ + {supportedBrowsers.map((browser, index) => + { + const supportedBrowser = `${browser.vendor} ${browser.name}`; + const supportedVersion = `${browser.version}+`; + + return ( + + + + + + + + + ); + })} + +
+
+ + + + + +
+
+
+ ); +}; + +UnsupportedBrowser.propTypes = +{ + webrtcUnavailable : PropTypes.bool.isRequired, + platform : PropTypes.string.isRequired, + classes : PropTypes.object.isRequired +}; + +export default withStyles(styles)(UnsupportedBrowser); diff --git a/app/src/index.js b/app/src/index.js index c5f333d..e21de44 100644 --- a/app/src/index.js +++ b/app/src/index.js @@ -12,6 +12,7 @@ import RoomClient from './RoomClient'; import RoomContext from './RoomContext'; import deviceInfo from './deviceInfo'; import * as meActions from './actions/meActions'; +import UnsupportedBrowser from './components/UnsupportedBrowser'; import ChooseRoom from './components/ChooseRoom'; import LoadingView from './components/LoadingView'; import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles'; @@ -20,7 +21,7 @@ import { persistor, store } from './store'; import { SnackbarProvider } from 'notistack'; import * as serviceWorker from './serviceWorker'; import { ReactLazyPreload } from './components/ReactLazyPreload'; - +import { detectDevice } from 'mediasoup-client'; // import messagesEnglish from './translations/en'; import messagesNorwegian from './translations/nb'; import messagesGerman from './translations/de'; @@ -138,6 +139,52 @@ function run() // Get current device. const device = deviceInfo(); + let unsupportedBrowser=false; + + let webrtcUnavailable=false; + + if (detectDevice() === undefined) + { + logger.error('Unsupported browser detected by mediasoup client detectDevice! deviceInfo: %o', device); + unsupportedBrowser=true; + } + else + if ( + navigator.mediaDevices === undefined || + navigator.mediaDevices.getUserMedia === undefined || + window.RTCPeerConnection === undefined + ) + { + logger.error('WebRTC is unavialable in your browser! deviceInfo: %o', device); + webrtcUnavailable=true; + } + else + if (device.name === 'safari' && !isNaN(device.version) && parseFloat(device.version) < 12) + { + unsupportedBrowser=true; + } + else + { + logger.debug('Supported Browser! deviceInfo: %o', device); + } + + if (unsupportedBrowser || webrtcUnavailable) + { + render( + + + + + , + document.getElementById('multiparty-meeting') + ); + + return; + } + store.dispatch( meActions.setMe({ peerId, diff --git a/app/src/translations/cn.json b/app/src/translations/cn.json index c5f79e4..2f05967 100644 --- a/app/src/translations/cn.json +++ b/app/src/translations/cn.json @@ -189,5 +189,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } \ No newline at end of file diff --git a/app/src/translations/cs.json b/app/src/translations/cs.json index c1ea569..281eba2 100644 --- a/app/src/translations/cs.json +++ b/app/src/translations/cs.json @@ -188,5 +188,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } \ No newline at end of file diff --git a/app/src/translations/de.json b/app/src/translations/de.json index 9339d4f..f1d65b1 100644 --- a/app/src/translations/de.json +++ b/app/src/translations/de.json @@ -189,5 +189,9 @@ "moderator.clearFiles": "Moderator hat geteilte Dateiliste gelöscht", "moderator.muteAudio": "Moderator hat dich stummgeschaltet", "moderator.muteVideo": "Moderator hat dein Video gestoppt", - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/dk.json b/app/src/translations/dk.json index edeb619..6e1e3dd 100644 --- a/app/src/translations/dk.json +++ b/app/src/translations/dk.json @@ -189,5 +189,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/el.json b/app/src/translations/el.json index 6807831..f523948 100644 --- a/app/src/translations/el.json +++ b/app/src/translations/el.json @@ -189,5 +189,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } \ No newline at end of file diff --git a/app/src/translations/en.json b/app/src/translations/en.json index 30c21d7..b2db17e 100644 --- a/app/src/translations/en.json +++ b/app/src/translations/en.json @@ -189,5 +189,9 @@ "moderator.clearFiles": "Moderator cleared the files", "moderator.muteAudio": "Moderator muted your audio", "moderator.muteVideo": "Moderator muted your video", - "moderator.muteScreenSharing": "Moderator muted your screen sharing" + "moderator.muteScreenSharing": "Moderator muted your screen sharing", + + "unsupportedBrowser.titleUsnsupportedBrowser": "Detected unsupported browser!", + "unsupportedBrowser.titlewebrtcUnavailable": "Required functionality not available in your browser!", + "unsupportedBrowser.bodyText": "This meeting service requires a functionality that is not supported by your browser. Please upgrade, or switch to a different browser, or check your settings. Supported browsers:" } \ No newline at end of file diff --git a/app/src/translations/es.json b/app/src/translations/es.json index 4e0c12a..ce7cd47 100644 --- a/app/src/translations/es.json +++ b/app/src/translations/es.json @@ -189,5 +189,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/fr.json b/app/src/translations/fr.json index 0f2ac0b..76b1238 100644 --- a/app/src/translations/fr.json +++ b/app/src/translations/fr.json @@ -188,5 +188,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/hr.json b/app/src/translations/hr.json index 59873d4..0547b6b 100644 --- a/app/src/translations/hr.json +++ b/app/src/translations/hr.json @@ -189,5 +189,9 @@ "moderator.clearFiles": "Moderator je izbrisao datoteke", "moderator.muteAudio": "Moderator je utišao tvoj zvuk", "moderator.muteVideo": "Moderator je zaustavio tvoj video", - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/hu.json b/app/src/translations/hu.json index 1a2832b..1e41875 100644 --- a/app/src/translations/hu.json +++ b/app/src/translations/hu.json @@ -189,5 +189,10 @@ "moderator.clearFiles": "A moderátor kiürítette a file megosztás történelmet", "moderator.muteAudio": "A moderátor elnémította a hangod", "moderator.muteVideo": "A moderátor elnémította a videód", - "moderator.muteScreenSharing": "A moderátor leállította képernyőmegosztásod" + "moderator.muteScreenSharing": "A moderátor leállította képernyőmegosztásod", + + "unsupportedBrowser.titleUnsupportedBrowser": "A bőngésző verziód sajnos nem támogatott! :-(", + "unsupportedBrowser.titlewebrtcUnavailable": "A böngésződ egy szükséges funkciója nem elérhető!", + "unsupportedBrowser.bodyText": "Kérlek frissítsd a böngésződ, válts másik böngészőre, vagy ellenőrizd a böngésződ beállításait! Támogatott böngészők:" + } diff --git a/app/src/translations/it.json b/app/src/translations/it.json index 02b53e7..9512bba 100644 --- a/app/src/translations/it.json +++ b/app/src/translations/it.json @@ -189,5 +189,10 @@ "moderator.clearFiles": "Il moderatore ha pulito i file", "moderator.muteAudio": "Il moderatore ha mutato il tuo audio", "moderator.muteVideo": "Il moderatore ha fermato il tuo video", - "moderator.muteScreenSharing": null -} \ No newline at end of file + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null +} + diff --git a/app/src/translations/lv.json b/app/src/translations/lv.json index 62ee61e..c71a9e8 100644 --- a/app/src/translations/lv.json +++ b/app/src/translations/lv.json @@ -183,5 +183,9 @@ "moderator.clearFiles": "Moderators notīrīja failus", "moderator.muteAudio": "Moderators noklusināja jūsu mikrofonu", "moderator.muteVideo": "Moderators atslēdza jūsu kameru", - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/nb.json b/app/src/translations/nb.json index 5bafeb6..f98a242 100644 --- a/app/src/translations/nb.json +++ b/app/src/translations/nb.json @@ -189,5 +189,9 @@ "moderator.clearFiles": "Moderator fjernet filer", "moderator.muteAudio": "Moderator mutet lyden din", "moderator.muteVideo": "Moderator mutet videoen din", - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } \ No newline at end of file diff --git a/app/src/translations/pl.json b/app/src/translations/pl.json index 7612f99..d63e9d3 100644 --- a/app/src/translations/pl.json +++ b/app/src/translations/pl.json @@ -189,5 +189,9 @@ "moderator.clearFiles": "Moderator wyczyścił pliki", "moderator.muteAudio": "Moderator wyciszył audio", "moderator.muteVideo": "Moderator wyciszył twoje video", - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } \ No newline at end of file diff --git a/app/src/translations/pt.json b/app/src/translations/pt.json index a2a3310..a3d3ab9 100644 --- a/app/src/translations/pt.json +++ b/app/src/translations/pt.json @@ -189,5 +189,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/ro.json b/app/src/translations/ro.json index 7161bd4..483f44d 100644 --- a/app/src/translations/ro.json +++ b/app/src/translations/ro.json @@ -189,5 +189,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/tr.json b/app/src/translations/tr.json index 1876bab..110585c 100644 --- a/app/src/translations/tr.json +++ b/app/src/translations/tr.json @@ -181,5 +181,9 @@ "devices.cameraDisconnected": "Kamera bağlı değil", "devices.cameraError": "Kameranıza erişilirken bir hata oluştu", - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } diff --git a/app/src/translations/tw.json b/app/src/translations/tw.json index 99c32d7..cc87968 100644 --- a/app/src/translations/tw.json +++ b/app/src/translations/tw.json @@ -188,5 +188,9 @@ "moderator.clearFiles": "管理員清除了所有檔案", "moderator.muteAudio": "您已被管理員靜音", "moderator.muteVideo": "您的視訊已被管理員關閉", - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } \ No newline at end of file diff --git a/app/src/translations/uk.json b/app/src/translations/uk.json index 2ee6774..61708e6 100644 --- a/app/src/translations/uk.json +++ b/app/src/translations/uk.json @@ -189,5 +189,9 @@ "moderator.clearFiles": null, "moderator.muteAudio": null, "moderator.muteVideo": null, - "moderator.muteScreenSharing": null + "moderator.muteScreenSharing": null, + + "unsupportedBrowser.titleUnsupportedBrowser": null, + "unsupportedBrowser.titlewebrtcUnavailable": null, + "unsupportedBrowser.bodyText": null } \ No newline at end of file From 2bd7218379448dd93511152a824f2fc03060f3bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Mih=C3=A1ly?= Date: Tue, 19 May 2020 07:50:01 +0200 Subject: [PATCH 03/36] replace em with theme.spacing --- app/src/components/Controls/About.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/components/Controls/About.js b/app/src/components/Controls/About.js index c7da15f..c462549 100644 --- a/app/src/components/Controls/About.js +++ b/app/src/components/Controls/About.js @@ -44,7 +44,7 @@ const styles = (theme) => { display : 'block', textAlign : 'center', - marginBottom : '1em' + marginBottom : theme.spacing(1) } }); From 28995ad74f53e92ac432989aa17c9ff60210de74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9sz=C3=A1ros=20Mih=C3=A1ly?= Date: Tue, 19 May 2020 13:25:52 +0200 Subject: [PATCH 04/36] Only on mobile add lobbypeers action --- app/src/components/Controls/TopBar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/components/Controls/TopBar.js b/app/src/components/Controls/TopBar.js index 148f4a7..e46ba12 100644 --- a/app/src/components/Controls/TopBar.js +++ b/app/src/components/Controls/TopBar.js @@ -480,7 +480,7 @@ const TopBar = (props) => - { lobbyPeers.length > 0 && + { isMobile && lobbyPeers.length > 0 && Date: Tue, 19 May 2020 13:35:33 +0200 Subject: [PATCH 05/36] Fix previous commit, move it to sectionMobile --- app/src/components/Controls/TopBar.js | 57 ++++++++++++++------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/app/src/components/Controls/TopBar.js b/app/src/components/Controls/TopBar.js index e46ba12..d6ee365 100644 --- a/app/src/components/Controls/TopBar.js +++ b/app/src/components/Controls/TopBar.js @@ -479,35 +479,36 @@ const TopBar = (props) => > - - { isMobile && lobbyPeers.length > 0 && - - - setLockDialogOpen(!room.lockDialogOpen)} - > - 0 && + + + setLockDialogOpen(!room.lockDialogOpen)} > - - - - - - } + + + + + + + } + +
- + ); }; @@ -114,7 +114,7 @@ About.propTypes = { roomClient : PropTypes.object.isRequired, aboutOpen : PropTypes.bool.isRequired, - handleCloseAbout : PropTypes.func.isRequired, + handleCloseAbout : PropTypes.func.isRequired, classes : PropTypes.object.isRequired }; diff --git a/app/src/components/Controls/Help.js b/app/src/components/Controls/Help.js index ab188b8..d789d10 100644 --- a/app/src/components/Controls/Help.js +++ b/app/src/components/Controls/Help.js @@ -107,13 +107,13 @@ const Help = ({ } /> - + - {shortcuts.map((value, index) => + {shortcuts.map((value, index) => { return (
- + {value.key} - + ); }; @@ -142,7 +142,7 @@ Help.propTypes = { roomClient : PropTypes.object.isRequired, helpOpen : PropTypes.bool.isRequired, - handleCloseHelp : PropTypes.func.isRequired, + handleCloseHelp : PropTypes.func.isRequired, classes : PropTypes.object.isRequired }; diff --git a/app/src/components/JoinDialog.js b/app/src/components/JoinDialog.js index 0ad8ef8..b2cf648 100644 --- a/app/src/components/JoinDialog.js +++ b/app/src/components/JoinDialog.js @@ -327,7 +327,7 @@ const JoinDialog = ({ /> - : + : { title = title ? title : href; text = text ? text : href; - + return `${ text }`; }; diff --git a/app/src/components/MeetingDrawer/Chat/MessageList.js b/app/src/components/MeetingDrawer/Chat/MessageList.js index da6891b..d1c86d2 100644 --- a/app/src/components/MeetingDrawer/Chat/MessageList.js +++ b/app/src/components/MeetingDrawer/Chat/MessageList.js @@ -60,7 +60,7 @@ class MessageList extends React.Component myPicture, classes } = this.props; - + return (
{ this.node = node; }}> { diff --git a/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js b/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js index b11f631..d1d13e0 100644 --- a/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js +++ b/app/src/components/MeetingDrawer/ParticipantList/ListPeer.js @@ -279,7 +279,7 @@ const ListPeer = (props) => } - { isModerator && webcamConsumer && + { isModerator && webcamConsumer && (availableSpeakerHeight - PADDING_V)) { speakerHeight = (availableSpeakerHeight - PADDING_V); @@ -167,7 +167,7 @@ class Filmstrip extends React.PureComponent let filmStripHeight = availableFilmstripHeight - FILMSTRING_PADDING_V; let filmStripWidth = filmStripHeight * RATIO; - + if ( (filmStripWidth * this.props.boxes) > (availableWidth - FILMSTRING_PADDING_H) @@ -254,7 +254,7 @@ class Filmstrip extends React.PureComponent }; return ( -
const permitted = roles.some((role) => roomPermissions[permission].includes(role) ); - + if (permitted) return true; @@ -265,7 +265,7 @@ export const makePermissionSelector = (permission) => ).length === 0 ) return true; - + return false; } ); diff --git a/app/src/components/Settings/MediaSettings.js b/app/src/components/Settings/MediaSettings.js index 2888d0f..9d48a42 100644 --- a/app/src/components/Settings/MediaSettings.js +++ b/app/src/components/Settings/MediaSettings.js @@ -18,7 +18,7 @@ import Typography from '@material-ui/core/Typography'; const NoiseSlider = withStyles( { - root : + root : { color : '#3880ff', height : 2, @@ -48,7 +48,7 @@ const styles = (theme) => ({ { padding : theme.spacing(2) }, - margin : + margin : { height : theme.spacing(3) }, @@ -72,7 +72,7 @@ const MediaSettings = ({ }) => { const intl = useIntl(); - + const resolutions = [ { value : 'low', label : intl.formatMessage({ @@ -122,7 +122,7 @@ const MediaSettings = ({ audioDevices = Object.values(me.audioDevices); else audioDevices = []; - + let audioOutputDevices; if (me.audioOutputDevices) @@ -174,7 +174,7 @@ const MediaSettings = ({