diff options
author | Christoph Settgast <csett86@web.de> | 2021-12-21 07:34:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-21 07:34:16 +0100 |
commit | d970d210da6f7967d26fb22fe03d00d7de73cd25 (patch) | |
tree | 4b1ef850722399f3f190981ff8ff1571b2ac0955 /app | |
parent | 7ef12df18807fb36a48406ba6289a7c2aa2c5ca5 (diff) |
feat: force prejoin page instead of profile and av settings (#690)
The settings and the prejoin page which is forced on many instances
including meet.jit.si did conflict, as you could set values in the
settings, then try to override them in den prejoin page only to notice
that it would not work. Clean this up by only having the prejoin page
where all settings can be done before joining the conference.
Closes: #687
Diffstat (limited to 'app')
-rw-r--r-- | app/features/conference/components/Conference.js | 124 | ||||
-rw-r--r-- | app/features/onboarding/constants.js | 31 | ||||
-rw-r--r-- | app/features/settings/actionTypes.js | 40 | ||||
-rw-r--r-- | app/features/settings/actions.js | 70 | ||||
-rw-r--r-- | app/features/settings/components/SettingsDrawer.js | 165 | ||||
-rw-r--r-- | app/features/settings/reducer.js | 44 | ||||
-rw-r--r-- | app/i18n/lang/de.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/en.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/es.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/fr.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/gl.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/hu.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/it.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/nl.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/pt-br.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/ru.json | 8 | ||||
-rw-r--r-- | app/i18n/lang/sq.json | 8 | ||||
-rw-r--r-- | app/preload/preload.js | 2 |
18 files changed, 34 insertions, 530 deletions
diff --git a/app/features/conference/components/Conference.js b/app/features/conference/components/Conference.js index 6d88116..cf7a2e2 100644 --- a/app/features/conference/components/Conference.js +++ b/app/features/conference/components/Conference.js @@ -9,7 +9,7 @@ import { push } from 'react-router-redux'; import i18n from '../../../i18n'; import config from '../../config'; -import { getSetting, setEmail, setName } from '../../settings'; +import { getSetting } from '../../settings'; import { conferenceEnded, conferenceJoined } from '../actions'; import JitsiMeetExternalAPI from '../external_api'; @@ -40,16 +40,6 @@ type Props = { _disableAGC: boolean; /** - * Email of user. - */ - _email: string; - - /** - * Name of user. - */ - _name: string; - - /** * Default Jitsi Server URL. */ _serverURL: string; @@ -58,16 +48,6 @@ type Props = { * Default Jitsi Server Timeout. */ _serverTimeout: number; - - /** - * Start with Audio Muted. - */ - _startWithAudioMuted: boolean; - - /** - * Start with Video Muted. - */ - _startWithVideoMuted: boolean; }; type State = { @@ -155,23 +135,6 @@ class Conference extends Component<Props, State> { } /** - * Keep profile settings in sync with Conference. - * - * @param {Props} prevProps - Component's prop values before update. - * @returns {void} - */ - componentDidUpdate(prevProps) { - const { props } = this; - - if (props._email !== prevProps._email) { - this._setEmail(props._email); - } - if (props._name !== prevProps._name) { - this._setName(props._name); - } - } - - /** * Remove conference on unmounting. * * @returns {void} @@ -224,10 +187,16 @@ class Conference extends Component<Props, State> { ...locale }; + // override both old and new prejoin config options, + // old one for servers that do not understand the new option yet + // and new one for newly setup servers where the new option overrides + // the old if set. const configOverwrite = { disableAGC: this.props._disableAGC, - startWithAudioMuted: this.props._startWithAudioMuted, - startWithVideoMuted: this.props._startWithVideoMuted + prejoinPageEnabled: true, + prejoinConfig: { + enabled: true + } }; Object.entries(hashParameters).forEach(([ key, value ]) => { @@ -254,9 +223,8 @@ class Conference extends Component<Props, State> { this._api.on('suspendDetected', this._onVideoConferenceEnded); this._api.on('readyToClose', this._onVideoConferenceEnded); this._api.on('videoConferenceJoined', - (conferenceInfo: Object) => { + () => { this.props.dispatch(conferenceJoined(this._conference)); - this._onVideoConferenceJoined(conferenceInfo); } ); @@ -336,32 +304,6 @@ class Conference extends Component<Props, State> { this._navigateToHome(event); } - /** - * Updates redux state's user name from conference. - * - * @param {Object} params - Returned object from event. - * @param {string} id - Local Participant ID. - * @returns {void} - */ - _onDisplayNameChange(params: Object, id: string) { - if (params.id === id) { - this.props.dispatch(setName(params.displayname)); - } - } - - /** - * Updates redux state's email from conference. - * - * @param {Object} params - Returned object from event. - * @param {string} id - Local Participant ID. - * @returns {void} - */ - _onEmailChange(params: Object, id: string) { - if (params.id === id) { - this.props.dispatch(setEmail(params.email)); - } - } - _onIframeLoad: (*) => void; /** @@ -379,46 +321,6 @@ class Conference extends Component<Props, State> { isLoading: false }); } - - /** - * Saves conference info on joining it. - * - * @param {Object} conferenceInfo - Contains information about the current - * conference. - * @returns {void} - */ - _onVideoConferenceJoined(conferenceInfo: Object) { - this._setEmail(this.props._email); - this._setName(this.props._name); - - const { id } = conferenceInfo; - - this._api.on('displayNameChange', - (params: Object) => this._onDisplayNameChange(params, id)); - this._api.on('emailChange', - (params: Object) => this._onEmailChange(params, id)); - } - - /** - * Set email from settings to conference. - * - * @param {string} email - Email of user. - * @returns {void} - */ - _setEmail(email: string) { - this._api.executeCommand('email', email); - } - - /** - * Set name from settings to conference. - * - * @param {string} name - Name of user. - * @returns {void} - */ - _setName(name: string) { - this._api.executeCommand('displayName', name); - } - } /** @@ -431,12 +333,8 @@ function _mapStateToProps(state: Object) { return { _alwaysOnTopWindowEnabled: getSetting(state, 'alwaysOnTopWindowEnabled', true), _disableAGC: state.settings.disableAGC, - _email: state.settings.email, - _name: state.settings.name, _serverURL: state.settings.serverURL, - _serverTimeout: state.settings.serverTimeout, - _startWithAudioMuted: state.settings.startWithAudioMuted, - _startWithVideoMuted: state.settings.startWithVideoMuted + _serverTimeout: state.settings.serverTimeout }; } diff --git a/app/features/onboarding/constants.js b/app/features/onboarding/constants.js index 7b971f3..2e11500 100644 --- a/app/features/onboarding/constants.js +++ b/app/features/onboarding/constants.js @@ -3,12 +3,6 @@ import { OnboardingModal, OnboardingSpotlight } from './components'; import { openDrawer, closeDrawer } from '../navbar'; import { SettingsDrawer } from '../settings'; -export const advenaceSettingsSteps = [ - 'server-setting', - 'server-timeout', - 'always-on-top-window' -]; - export const onboardingSteps = { 'welcome-page': [ 'onboarding-modal', @@ -16,10 +10,9 @@ export const onboardingSteps = { 'settings-drawer-button' ], 'settings-drawer': [ - 'name-setting', - 'email-setting', - 'start-muted-toggles', - ...advenaceSettingsSteps + 'server-setting', + 'server-timeout', + 'always-on-top-window' ] }; @@ -38,24 +31,6 @@ export const onboardingComponents = { text: 'onboarding.settingsDrawerButton', onNext: (props: OnboardingSpotlight.props) => props.dispatch(openDrawer(SettingsDrawer)) }, - 'name-setting': { - type: OnboardingSpotlight, - dialogPlacement: 'top right', - target: 'name-setting', - text: 'onboarding.nameSetting' - }, - 'email-setting': { - type: OnboardingSpotlight, - dialogPlacement: 'top right', - target: 'email-setting', - text: 'onboarding.emailSetting' - }, - 'start-muted-toggles': { - type: OnboardingSpotlight, - dialogPlacement: 'top right', - target: 'start-muted-toggles', - text: 'onboarding.startMutedToggles' - }, 'server-setting': { type: OnboardingSpotlight, dialogPlacement: 'top right', diff --git a/app/features/settings/actionTypes.js b/app/features/settings/actionTypes.js index 4fc7ac5..a9b1a73 100644 --- a/app/features/settings/actionTypes.js +++ b/app/features/settings/actionTypes.js @@ -10,16 +10,6 @@ export const SET_ALWAYS_ON_TOP_WINDOW_ENABLED = Symbol('SET_ALWAYS_ON_TOP_WINDOW_ENABLED'); /** - * The type of (redux) action that sets Start with Audio Muted. - * - * @type { - * type: SET_AUDIO_MUTED, - * startWithAudioMuted: boolean - * } - */ -export const SET_AUDIO_MUTED = Symbol('SET_AUDIO_MUTED'); - -/** * The type of (redux) action that sets disable AGC. * * @type { @@ -30,26 +20,6 @@ export const SET_AUDIO_MUTED = Symbol('SET_AUDIO_MUTED'); export const SET_DISABLE_AGC = Symbol('SET_DISABLE_AGC'); /** - * The type of (redux) action that sets the email of the user. - * - * @type { - * type: SET_EMAIL, - * email: string - * } - */ -export const SET_EMAIL = Symbol('SET_EMAIL'); - -/** - * The type of (redux) action that sets the name of the user. - * - * @type { - * type: SET_NAME, - * name: string - * } - */ -export const SET_NAME = Symbol('SET_NAME'); - -/** * The type of (redux) action that sets the Server URL. * * @type { @@ -68,13 +38,3 @@ export const SET_SERVER_URL = Symbol('SET_SERVER_URL'); * } */ export const SET_SERVER_TIMEOUT = Symbol('SET_SERVER_TIMEOUT'); - -/** - * The type of (redux) action that sets Start with Video Muted. - * - * @type { - * type: SET_VIDEO_MUTED, - * startWithVideoMuted: boolean - * } - */ -export const SET_VIDEO_MUTED = Symbol('SET_VIDEO_MUTED'); diff --git a/app/features/settings/actions.js b/app/features/settings/actions.js index 8b94cf7..1c437f1 100644 --- a/app/features/settings/actions.js +++ b/app/features/settings/actions.js @@ -2,50 +2,14 @@ import { SET_ALWAYS_ON_TOP_WINDOW_ENABLED, - SET_AUDIO_MUTED, SET_DISABLE_AGC, - SET_EMAIL, - SET_NAME, SET_SERVER_URL, - SET_SERVER_TIMEOUT, - SET_VIDEO_MUTED + SET_SERVER_TIMEOUT } from './actionTypes'; import { normalizeServerURL } from '../utils'; /** - * Set the email of the user. - * - * @param {string} email - Email of the user. - * @returns {{ - * type: SET_EMAIL, - * email: string - * }} - */ -export function setEmail(email: string) { - return { - type: SET_EMAIL, - email - }; -} - -/** - * Set the name of the user. - * - * @param {string} name - Name of the user. - * @returns {{ - * type: SET_NAME, - * name: string - * }} - */ -export function setName(name: string) { - return { - type: SET_NAME, - name - }; -} - -/** * Set Server URL. * * @param {string} serverURL - Server URL. @@ -78,38 +42,6 @@ export function setServerTimeout(serverTimeout: number) { } /** - * Set start with audio muted. - * - * @param {boolean} startWithAudioMuted - Whether to start with audio muted. - * @returns {{ - * type: SET_AUDIO_MUTED, - * startWithAudioMuted: boolean - * }} - */ -export function setStartWithAudioMuted(startWithAudioMuted: boolean) { - return { - type: SET_AUDIO_MUTED, - startWithAudioMuted - }; -} - -/** - * Set start with video muted. - * - * @param {boolean} startWithVideoMuted - Whether to start with video muted. - * @returns {{ - * type: SET_VIDEO_MUTED, - * startWithVideoMuted: boolean - * }} - */ -export function setStartWithVideoMuted(startWithVideoMuted: boolean) { - return { - type: SET_VIDEO_MUTED, - startWithVideoMuted - }; -} - -/** * Set disable AGC. * * @param {boolean} disableAGC - Whether to disable AGC. diff --git a/app/features/settings/components/SettingsDrawer.js b/app/features/settings/components/SettingsDrawer.js index 79ed1da..4622b3f 100644 --- a/app/features/settings/components/SettingsDrawer.js +++ b/app/features/settings/components/SettingsDrawer.js @@ -1,10 +1,8 @@ // @flow -import FieldText from '@atlaskit/field-text'; import ArrowLeft from '@atlaskit/icon/glyph/arrow-left'; import { AkCustomDrawer } from '@atlaskit/navigation'; import { SpotlightTarget } from '@atlaskit/onboarding'; -import Panel from '@atlaskit/panel'; import React, { Component } from 'react'; import { withTranslation } from 'react-i18next'; @@ -13,11 +11,10 @@ import type { Dispatch } from 'redux'; import { compose } from 'redux'; import { closeDrawer, DrawerContainer, Logo } from '../../navbar'; -import { Onboarding, advenaceSettingsSteps, startOnboarding } from '../../onboarding'; -import { Form, SettingsContainer, TogglesContainer } from '../styled'; +import { Onboarding, startOnboarding } from '../../onboarding'; +import { SettingsContainer, TogglesContainer } from '../styled'; import { - setEmail, setName, setWindowAlwaysOnTop, - setStartWithAudioMuted, setStartWithVideoMuted, setDisableAGC + setWindowAlwaysOnTop, setDisableAGC } from '../actions'; import SettingToggle from './SettingToggle'; @@ -37,21 +34,6 @@ type Props = { isOpen: boolean; /** - * Email of the user. - */ - _email: string; - - /** - * Whether onboarding is active or not. - */ - _isOnboardingAdvancedSettings: boolean, - - /** - * Name of the user. - */ - _name: string; - - /** * I18next translation function. */ t: Function; @@ -70,10 +52,6 @@ class SettingsDrawer extends Component<Props, *> { super(props); this._onBackButton = this._onBackButton.bind(this); - this._onEmailBlur = this._onEmailBlur.bind(this); - this._onEmailFormSubmit = this._onEmailFormSubmit.bind(this); - this._onNameBlur = this._onNameBlur.bind(this); - this._onNameFormSubmit = this._onNameFormSubmit.bind(this); } /** @@ -111,64 +89,25 @@ class SettingsDrawer extends Component<Props, *> { primaryIcon = { <Logo /> } > <DrawerContainer> <SettingsContainer> - <SpotlightTarget - name = 'name-setting'> - <Form onSubmit = { this._onNameFormSubmit }> - <FieldText - label = { t('settings.name') } - onBlur = { this._onNameBlur } - shouldFitContainer = { true } - type = 'text' - value = { this.props._name } /> - </Form> + <SpotlightTarget name = 'server-setting'> + <ServerURLField /> </SpotlightTarget> - <SpotlightTarget - name = 'email-setting'> - <Form onSubmit = { this._onEmailFormSubmit }> - <FieldText - label = { t('settings.email') } - onBlur = { this._onEmailBlur } - shouldFitContainer = { true } - type = 'text' - value = { this.props._email } /> - </Form> + <SpotlightTarget name = 'server-timeout'> + <ServerTimeoutField /> </SpotlightTarget> <TogglesContainer> <SpotlightTarget - name = 'start-muted-toggles'> + name = 'always-on-top-window'> <SettingToggle - label = { t('settings.startWithAudioMuted') } - settingChangeEvent = { setStartWithAudioMuted } - settingName = 'startWithAudioMuted' /> - <SettingToggle - label = { t('settings.startWithVideoMuted') } - settingChangeEvent = { setStartWithVideoMuted } - settingName = 'startWithVideoMuted' /> + label = { t('settings.alwaysOnTopWindow') } + settingChangeEvent = { setWindowAlwaysOnTop } + settingName = 'alwaysOnTopWindowEnabled' /> </SpotlightTarget> + <SettingToggle + label = { t('settings.disableAGC') } + settingChangeEvent = { setDisableAGC } + settingName = 'disableAGC' /> </TogglesContainer> - <Panel - header = { t('settings.advancedSettings') } - isDefaultExpanded = { this.props._isOnboardingAdvancedSettings }> - <SpotlightTarget name = 'server-setting'> - <ServerURLField /> - </SpotlightTarget> - <SpotlightTarget name = 'server-timeout'> - <ServerTimeoutField /> - </SpotlightTarget> - <TogglesContainer> - <SpotlightTarget - name = 'always-on-top-window'> - <SettingToggle - label = { t('settings.alwaysOnTopWindow') } - settingChangeEvent = { setWindowAlwaysOnTop } - settingName = 'alwaysOnTopWindowEnabled' /> - </SpotlightTarget> - <SettingToggle - label = { t('settings.disableAGC') } - settingChangeEvent = { setDisableAGC } - settingName = 'disableAGC' /> - </TogglesContainer> - </Panel> <Onboarding section = 'settings-drawer' /> </SettingsContainer> </DrawerContainer> @@ -187,78 +126,6 @@ class SettingsDrawer extends Component<Props, *> { _onBackButton() { this.props.dispatch(closeDrawer()); } - - _onEmailBlur: (*) => void; - - /** - * Updates email in (redux) state when email is updated. - * - * @param {SyntheticInputEvent<HTMLInputElement>} event - Event by which - * this function is called. - * @returns {void} - */ - _onEmailBlur(event: SyntheticInputEvent<HTMLInputElement>) { - this.props.dispatch(setEmail(event.currentTarget.value)); - } - - _onEmailFormSubmit: (*) => void; - - /** - * Prevents submission of the form and updates email. - * - * @param {SyntheticEvent<HTMLFormElement>} event - Event by which - * this function is called. - * @returns {void} - */ - _onEmailFormSubmit(event: SyntheticEvent<HTMLFormElement>) { - event.preventDefault(); - - // $FlowFixMe - this.props.dispatch(setEmail(event.currentTarget.elements[0].value)); - } - - _onNameBlur: (*) => void; - - /** - * Updates name in (redux) state when name is updated. - * - * @param {SyntheticInputEvent<HTMLInputElement>} event - Event by which - * this function is called. - * @returns {void} - */ - _onNameBlur(event: SyntheticInputEvent<HTMLInputElement>) { - this.props.dispatch(setName(event.currentTarget.value)); - } - - _onNameFormSubmit: (*) => void; - - /** - * Prevents submission of the form and updates name. - * - * @param {SyntheticEvent<HTMLFormElement>} event - Event by which - * this function is called. - * @returns {void} - */ - _onNameFormSubmit(event: SyntheticEvent<HTMLFormElement>) { - event.preventDefault(); - - // $FlowFixMe - this.props.dispatch(setName(event.currentTarget.elements[0].value)); - } -} - -/** - * Maps (parts of) the redux state to the React props. - * - * @param {Object} state - The redux state. - * @returns {Props} - */ -function _mapStateToProps(state: Object) { - return { - _email: state.settings.email, - _isOnboardingAdvancedSettings: !advenaceSettingsSteps.every(i => state.onboarding.onboardingShown.includes(i)), - _name: state.settings.name - }; } -export default compose(connect(_mapStateToProps), withTranslation())(SettingsDrawer); +export default compose(connect(), withTranslation())(SettingsDrawer); diff --git a/app/features/settings/reducer.js b/app/features/settings/reducer.js index cb9afec..7c99241 100644 --- a/app/features/settings/reducer.js +++ b/app/features/settings/reducer.js @@ -2,37 +2,23 @@ import { SET_ALWAYS_ON_TOP_WINDOW_ENABLED, - SET_AUDIO_MUTED, SET_DISABLE_AGC, - SET_EMAIL, - SET_NAME, SET_SERVER_URL, - SET_SERVER_TIMEOUT, - SET_VIDEO_MUTED + SET_SERVER_TIMEOUT } from './actionTypes'; type State = { alwaysOnTopWindowEnabled: boolean, disableAGC: boolean, - email: string, - name: string, serverURL: ?string, - serverTimeout: ?number, - startWithAudioMuted: boolean, - startWithVideoMuted: boolean + serverTimeout: ?number }; -const username = window.jitsiNodeAPI.osUserInfo().username; - const DEFAULT_STATE = { alwaysOnTopWindowEnabled: true, disableAGC: false, - email: '', - name: username, serverURL: undefined, - serverTimeout: undefined, - startWithAudioMuted: false, - startWithVideoMuted: false + serverTimeout: undefined }; /** @@ -50,30 +36,12 @@ export default (state: State = DEFAULT_STATE, action: Object) => { alwaysOnTopWindowEnabled: action.alwaysOnTopWindowEnabled }; - case SET_AUDIO_MUTED: - return { - ...state, - startWithAudioMuted: action.startWithAudioMuted - }; - case SET_DISABLE_AGC: return { ...state, disableAGC: action.disableAGC }; - case SET_EMAIL: - return { - ...state, - email: action.email - }; - - case SET_NAME: - return { - ...state, - name: action.name - }; - case SET_SERVER_URL: return { ...state, @@ -86,12 +54,6 @@ export default (state: State = DEFAULT_STATE, action: Object) => { serverTimeout: action.serverTimeout }; - case SET_VIDEO_MUTED: - return { - ...state, - startWithVideoMuted: action.startWithVideoMuted - }; - default: return state; } diff --git a/app/i18n/lang/de.json b/app/i18n/lang/de.json index 8466d8a..4f453d9 100644 --- a/app/i18n/lang/de.json +++ b/app/i18n/lang/de.json @@ -17,21 +17,13 @@ "next": "Weiter", "conferenceUrl": "Bitte den Namen (oder die vollständige Adresse) des Raumes eingeben, dem beigetreten werden soll. Es kann ein Name ausgedacht werden, diesen bitte anderen mitteilen, damit sie denselben Namen eingeben.", "settingsDrawerButton": "Hier klicken, um zu den Einstellungen zu gelangen.", - "nameSetting": "Das ist der Anzeigename, andere werden Sie unter diesem Namen sehen.", - "emailSetting": "Die hier eingegebene E-Mail ist Teil des Benutzerprofils.", - "startMutedToggles": "Hier kann eingestellt werden, ob mit stummgeschaltetem Audio oder Video gestartet wird. Das wird auf alle Konferenzen angewendet.", "serverSetting": "Das ist der Server, auf dem die Konferenzen stattfinden werden. Es kann ein eigener verwendet werden, muss aber nicht!", "serverTimeout": "Zeitüberschreitung für den Beitritt zu einer Konferenz. Wenn nicht rechtzeitig beigetreten wurde, wird die Konferenz abgebrochen.", "alwaysOnTop": "Hier kann eingestellt werden, ob das Fenster »Immer im Vordergrund« aktiviert wird. Dieses wird angezeigt, wenn das Hauptfenster den Fokus verliert. Das wird bei allen Konferenzen angewendet." }, "settings": { "back": "Zurück", - "name": "Name", - "email": "E-Mail", - "advancedSettings": "Erweiterte Einstellungen", "alwaysOnTopWindow": "Immer im Vordergrund", - "startWithAudioMuted": "Ohne Audio starten", - "startWithVideoMuted": "Ohne Video starten", "invalidServer": "Falsche Server-Adresse", "invalidServerTimeout": "Ungültiger Wert für die Server-Wartezeit", "serverUrl": "Server-Adresse", diff --git a/app/i18n/lang/en.json b/app/i18n/lang/en.json index 7752e56..b41d2eb 100644 --- a/app/i18n/lang/en.json +++ b/app/i18n/lang/en.json @@ -17,21 +17,13 @@ "next": "Next", "conferenceUrl": "Enter the name (or full URL) of the room you want to join. You may make a name up, just let others know so they enter the same name.", "settingsDrawerButton": "Click here to open the settings drawer.", - "nameSetting": "This will be your display name, others will see you with this name.", - "emailSetting": "The email you enter here will be part of your user profile.", - "startMutedToggles": "You can toggle if you want to start with your audio or video muted here. This will be applied to all conferences.", "serverSetting": "This will be the server where your conferences will take place. You can use your own, but you don't need to!", "serverTimeout": "Timeout to join a meeting, if the meeting hasn't been joined before the timeout hits, it's cancelled.", "alwaysOnTop": "You can toggle whether you want to enable the \"always-on-top\" window, which is displayed when the main window loses focus. This will be applied to all conferences." }, "settings": { "back": "Back", - "name": "Name", - "email": "Email", - "advancedSettings": "Advanced Settings", "alwaysOnTopWindow": "Always on Top Window", - "startWithAudioMuted": "Start with Audio muted", - "startWithVideoMuted": "Start with Video muted", "invalidServer": "Invalid Server URL", "invalidServerTimeout": "Invalid value for Server Timeout", "serverUrl": "Server URL", diff --git a/app/i18n/lang/es.json b/app/i18n/lang/es.json index cea54bc..62df76d 100644 --- a/app/i18n/lang/es.json +++ b/app/i18n/lang/es.json @@ -16,21 +16,13 @@ "next": "Siguiente", "conferenceUrl": "Ingrese el nombre (o URL completo) de la sala a que se quiera unir. Puede inventar el nombre, solo informe a otros para que ellos usen el mismo nombre.", "settingsDrawerButton": "Click aquí para abrir la opción de configuración.", - "nameSetting": "Este será su nombre mostrado, otros lo verán con este nombre.", - "emailSetting": "El correo electrónico que ingrese será parte de su perfil.", - "startMutedToggles": "Puede seleccionar aquí si desea iniciar con audio o video desactivado. Esto será aplicado a todas las conferencias.", "serverSetting": "Este será el servidor donde sus conferencias tomarán lugar. Puede usar el suyo, ¡pero no necesita!", "serverTimeout": "Tiempo de desconexión, si nadie se une a la reunión antes del tiempo de desconexión termina, esta se cancela.", "alwaysOnTop": "Puede seleccionar si desea activar la ventana \"siempre-encima\", la que se muestra cuando la ventana principal pierde enfoque. Esto será aplicado a todas las conferencias." }, "settings": { "back": "Atrás", - "name": "Nombre", - "email": "Correo", - "advancedSettings": "Configuración avanzada", "alwaysOnTopWindow": "Ventana siempre encima", - "startWithAudioMuted": "Iniciar con audio desactivado", - "startWithVideoMuted": "Iniciar con video desactivado", "invalidServer": "URL del servidor inválida", "serverUrl": "URL del servidor", "serverTimeout": "Tiempo de desconexión del servidor (en segundos)" diff --git a/app/i18n/lang/fr.json b/app/i18n/lang/fr.json index e1c91ca..538a8dc 100644 --- a/app/i18n/lang/fr.json +++ b/app/i18n/lang/fr.json @@ -16,21 +16,13 @@ "next": "Suivant", "conferenceUrl": "Entrez le nom (ou l'URL complète) de la conférence que vous souhaitez rejoindre. Vous pouvez choisir ce que vous voulez, dites simplement à vos contacts d'utiliser le même nom.", "settingsDrawerButton": "Cliquez içi pour ouvrir le panneau de configuration.", - "nameSetting": "Ceçi est votre nom, les participants vous verrons avec celui çi.", - "emailSetting": "L'email que vous entrez içi fera partie de votre profil utilisateur.", - "startMutedToggles": "Vous pouvez choisir de démarrer vos conférences avec l'audio et la vidéo désactivés. Ceci sera appliqué à toutes les conférences.", "serverSetting": "Ceçi est le serveur utilisé pour vos conférences. Vous pouvez utiliser le votre, mais vous n'êtes pas obligés!", "serverTimeout": "Delai pour rejoindre la conférence. Si la conférence ne s'est pas ouverte avant ce delai, elle sera abandonnée.", "alwaysOnTop": "Vous pouvez activer la fenêtre \"Toujours au Dessus\", qui sera affichée quand la fenêtre principale n'est plus en premier plan. Ceci sera appliqué à toutes les conférences.." }, "settings": { "back": "Retour", - "name": "Nom", - "email": "Email", - "advancedSettings": "Paramètres avancés", "alwaysOnTopWindow": "Fenêtre Toujours au Dessus", - "startWithAudioMuted": "Démarrer avec le micro coupé", - "startWithVideoMuted": "Démarrer avec la caméra coupée", "invalidServer": "URL invalide", "serverUrl": "URL du serveur", "serverTimeout": "Délai de connexion au server (en secondes)" diff --git a/app/i18n/lang/gl.json b/app/i18n/lang/gl.json index b0b64a5..ba1d669 100644 --- a/app/i18n/lang/gl.json +++ b/app/i18n/lang/gl.json @@ -16,21 +16,13 @@ "next": "Seguinte", "conferenceUrl": "Introduza o nome (ou URL completo) da sala á que desexa sumarse. Pode dar de alta un nome e permitir que a xente coa que se reúne o saiba para que introduzan o mesmo nome.", "settingsDrawerButton": "Prema aquí para abrir a gabeta de configuración.", - "nameSetting": "Este será o seu nome e será con el que apareza diante das demais persoas.", - "emailSetting": "O correo electrónico que apareza aquí será parte do seu perfil de usuario.", - "startMutedToggles": "Aquí pode alternar entre comezar co son ou co vídeo desactivados. Isto será aplicábel a todas as conferencias.", "serverSetting": "Este será o servidor no que se leven a cabo as súas conferencias. Pode usar unha propia, mais non ten por que o facer!", "serverTimeout": "Tempo de agarda para se sumar a unha reunión; se non se sumou antes de que remate, cancélase.", "alwaysOnTop": "Pode alternar entre activar e desactivar a xanela «sempre por riba», que se mostra cando a xanela principal perde o foco. Isto é aplicábel a todas as conferencias." }, "settings": { "back": "Atrás", - "name": "Nome", - "email": "Correo electrónico", - "advancedSettings": "Configuración avanzada", "alwaysOnTopWindow": "Xanela sempre por riba", - "startWithAudioMuted": "Comezar co son desactivado", - "startWithVideoMuted": "Comezar co vídeo desactivado", "invalidServer": "O URL do servidor é incorrecto", "invalidServerTimeout": "O tempo de agarda do servidor é incorrecto", "serverUrl": "URL do servidor", diff --git a/app/i18n/lang/hu.json b/app/i18n/lang/hu.json index 355648b..bb0d20e 100644 --- a/app/i18n/lang/hu.json +++ b/app/i18n/lang/hu.json @@ -17,21 +17,13 @@ "next": "Következő", "conferenceUrl": "Írja be a csatlakozni kívánt szoba nevét (vagy teljes URL-címét). Megadhat egy nevet, csak tudassa másokkal, hogy ugyanazt a nevet írják be.", "settingsDrawerButton": "Kattintson ide a beállítások fiókjának megnyitásához.", - "nameSetting": "Ez lesz a megjelenítendő neve, mások ezzel a névvel fognak látni.", - "emailSetting": "Az itt megadott e-mail része lesz a felhasználói profilnak.", - "startMutedToggles": "Hang elnémítva és videó nélkül kezd be-/kikapcsolással. Minden konferenciára vonatkozik.", "serverSetting": "Kiszolgáló, ahol a konferenciákat tartják. Használja saját kiszolgálóját; ez azonban nem szükséges.", "serverTimeout": "Ha a résztvevők nem csatlakoztak az időkorlát bekövetkezése előtt, akkor a találkozót visszavonják.", "alwaysOnTop": "A „Mindig látható” ablak lehetővé teszi a be-/kikapcsolást. Akkor jelenik meg, amikor a főablak elveszíti a fókuszt. Ezt minden konferenciára alkalmazni kell." }, "settings": { "back": "Vissza", - "name": "Név", - "email": "E-mail-cím", - "advancedSettings": "Haladó beállítások", "alwaysOnTopWindow": "Mindig látható", - "startWithAudioMuted": "Elnémítva kezd", - "startWithVideoMuted": "Videó nélkül kezd", "invalidServer": "Érvénytelen kiszolgáló URL-címe", "invalidServerTimeout": "A kiszolgáló időkorlátja érvénytelen", "serverUrl": "Kiszolgáló URL-címe", diff --git a/app/i18n/lang/it.json b/app/i18n/lang/it.json index 8352454..f4fd59b 100644 --- a/app/i18n/lang/it.json +++ b/app/i18n/lang/it.json @@ -16,21 +16,13 @@ "next": "Avanti", "conferenceUrl": "Insecisci il nome (oppure l'url intero) della stanza in cui vuoi accedere.", "settingsDrawerButton": "Premi qua per arrivare alle impostazioni.", - "nameSetting": "Questo non è un username.", - "emailSetting": "Il campo E-Mail fa parte del tuo profile, questo campo può restare vuoto.", - "startMutedToggles": "Qua puoi impostare se vui accedere a tutte le conferenze con audio/video disabilitato al accesso..", "serverSetting": "Questo è il server dove si svolgeranno tutte le conferenze, qua si può anche inserire il proprio server!", "serverTimeout": "Questo è il tempo massimo che un server può metterci per rispondere ad una richiesta di accesso a un meeting.", "alwaysOnTop": "Qua puoi attivare una piccola finestra che ti farà vedere i partecipanti del meeting anche se hai minimizzato la finestra principale." }, "settings": { "back": "Indietro", - "name": "Nome", - "email": "Email", - "advancedSettings": "Impostazioni avanzate", "alwaysOnTopWindow": "Finestra sempre in primo piano", - "startWithAudioMuted": "Inizia senza audio", - "startWithVideoMuted": "Inizio senza video", "invalidServer": "URL del server errato", "serverUrl": "URL Server", "serverTimeout": "Timeout del server (in secondi)" diff --git a/app/i18n/lang/nl.json b/app/i18n/lang/nl.json index ef88101..4df8f2f 100644 --- a/app/i18n/lang/nl.json +++ b/app/i18n/lang/nl.json @@ -16,21 +16,13 @@ "next": "Volgende", "conferenceUrl": "Voer de naam of URL in van de ruimte die u wilt betreden. U kunt een naam verzinnen, maar laat deze wel weten aan de andere deelnemers, zodat zij dezelfde naam invoeren.", "settingsDrawerButton": "Klik hier om het instellingenscherm te tonen.", - "nameSetting": "Voer hier uw naam in, andere deelnemers zullen deze naam zien.", - "emailSetting": "Voer hier uw e-mailadres in, dit wordt onderdeel van uw gebruikersprofiel.", - "startMutedToggles": "Hier kunt u kiezen om te starten met microfoon gedempt en/of camera uitgeschakeld. Dit geldt voor alle vergaderingen.", "serverSetting": "Voer hier de naam van de server in waar de vergaderingen plaatsvinden. U kunt uw eigen server gebruiken, maar dat hoeft niet!", "serverTimeout": "Voer hier de tijdslimiet in om de ruimte te betreden. Als de ruimte niet voor deze limiet betreden wordt, wordt de vergadering geannuleerd.", "alwaysOnTop": "Hiermee kunt u het altijd zichtbare venster aan- of uitzetten. Dit venster wordt getoond wanneer een andere applicatie actief wordt. Dit geldt voor alle vergaderingen." }, "settings": { "back": "Terug", - "name": "Naam", - "email": "E-mail", - "advancedSettings": "Geavanceerde instellingen", "alwaysOnTopWindow": "Altijd zichtbare venster", - "startWithAudioMuted": "Met audio gedempt starten", - "startWithVideoMuted": "Met camera uitgeschakeld starten", "invalidServer": "Ongeldige server-URL", "invalidServerTimeout": "Ongeldige waarde voor server-tijdslimiet", "serverUrl": "Server-URL", diff --git a/app/i18n/lang/pt-br.json b/app/i18n/lang/pt-br.json index db5691e..10dab33 100644 --- a/app/i18n/lang/pt-br.json +++ b/app/i18n/lang/pt-br.json @@ -16,21 +16,13 @@ "next": "Avançar", "conferenceUrl": "Digite o nome (ou URL completo) da sala em que deseja entrar. Você pode inventar um nome, apenas avise os outros para que insiram o mesmo nome.", "settingsDrawerButton": "Clique aqui para abrir a barra de configurações.", - "nameSetting": "Este será o seu nome de exibição, outras pessoas verão você com este nome.", - "emailSetting": "O e-mail que você inserir aqui fará parte do seu perfil de usuário.", - "startMutedToggles": "Você pode alternar se quiser começar com o áudio ou vídeo sem som aqui. Isso será aplicado a todas as conferências.", "serverSetting": "Este será o servidor onde suas conferências acontecerão. Você pode usar o seu próprio, mas não precisa!", "serverTimeout": "Tempo limite para entrar em uma reunião, se a reunião não tiver começado antes de atingir o tempo limite, ela será cancelada.", "alwaysOnTop": "Você pode alternar se deseja habilitar a janela \"sempre visível \", que é exibida quando a janela principal perde o foco. Isso será aplicado a todas as conferências." }, "settings": { "back": "Voltar", - "name": "Nome", - "email": "Email", - "advancedSettings": "Configurações Avançadas", "alwaysOnTopWindow": "Janela Sempre Visível", - "startWithAudioMuted": "Iniciar sem áudio", - "startWithVideoMuted": "Iniciar sem vídeo", "invalidServer": "URL do Servidor Inválida", "invalidServerTimeout": "Valor inválido para tempo limite do servidor", "serverUrl": "URL do servidor", diff --git a/app/i18n/lang/ru.json b/app/i18n/lang/ru.json index 8af1f43..65cd516 100644 --- a/app/i18n/lang/ru.json +++ b/app/i18n/lang/ru.json @@ -16,21 +16,13 @@ "next": "Далее", "conferenceUrl": "Введите название (или полный URL-адрес) комнаты, к которой вы хотите присоединиться.", "settingsDrawerButton": "Нажмите здесь, чтобы перейти к настройкам.", - "nameSetting": "Это ваше имя, которое будут видеть другие.", - "emailSetting": "Эл. адрес, который вы введете здесь, будет частью вашего профиля пользователя.", - "startMutedToggles": "Здесь вы можете настроить, присоединяться ли вы ко всем конференциям без включенного аудио/видео.", "serverSetting": "Это сервер, на котором будут проходить все ваши конференции. Вы можете использовать свой собственный, но вам это не нужно!", "serverTimeout": "Timeout to join a meeting, if the meeting hasn't been joined before the timeout hits, it's cancelled.", "alwaysOnTop": "Здесь вы можете включить небольшое окно, которое показывает участников, даже если вы только что свернули основное приложение." }, "settings": { "back": "Назад", - "name": "Имя", - "email": "Эл. адрес", - "advancedSettings": "Расширенные настройки", "alwaysOnTopWindow": "Поверх всех окон", - "startWithAudioMuted": "Начать без звука", - "startWithVideoMuted": "Начать без видео", "invalidServer": "Неверный URL-адрес сервера", "serverUrl": "URL-адрес сервера", "serverTimeout": "Тайм-аут сервера (в секундах)" diff --git a/app/i18n/lang/sq.json b/app/i18n/lang/sq.json index a6677b1..052b66a 100644 --- a/app/i18n/lang/sq.json +++ b/app/i18n/lang/sq.json @@ -16,21 +16,13 @@ "next": "Pasuesi", "conferenceUrl": "Jepni emrin (ose URL-në) e plotë të dhomës ku doni të hyni. Një emër mund ta sajoni, thjesht bëjuani të ditur të tjerëve, që të japin të njëjtin emër.", "settingsDrawerButton": "Klikoni këtu që të hapet sirtari i rregullimeve.", - "nameSetting": "Ky do të jetë emri në ekran për ju, të tjerë do t’ju shohin me këtë emër.", - "emailSetting": "Email-i që jepni këtu do të jetë pjesë e profilit tuaj të përdoruesit.", - "startMutedToggles": "Mund ta klikoni, nëse doni të fillohet me audio ose videon tuaj të mbyllur. Kjo do të zbatohet për krejt konferencat.", "serverSetting": "Ky do të jetë shërbyesi ku do të zhvillohen konferencat tuaja. Mund të përdorni tuajën, por jo domosdoshmërisht!", "serverTimeout": "Mbarim kohe për provë hyrjeje në një takim, nëse te takimi s’hyhet para se të skadojë kjo kohë, hyrja anulohet.", "alwaysOnTop": "Me këtë mund të zgjidhni nëse doni apo jo aktivizimin e dritares \"përherë-sipër\", që shfaqet kur fokusi, nga dritarja kryesore, kalon gjetkë. Kjo do të zbatohet për krejt konferencat." }, "settings": { "back": "Mbrapsht", - "name": "Emër", - "email": "Email", - "advancedSettings": "Rregullime të Mëtejshme", "alwaysOnTopWindow": "Dritare Përherë Sipër", - "startWithAudioMuted": "Nise pa Audio", - "startWithVideoMuted": "Nis pa Video", "invalidServer": "URL e Pavlefshme Shërbyesi", "invalidServerTimeout": "Vlerë e pavlefshme për Mbarim Kohe Shërbyesi", "serverUrl": "URL Shërbyesi", diff --git a/app/preload/preload.js b/app/preload/preload.js index ceaa666..c566835 100644 --- a/app/preload/preload.js +++ b/app/preload/preload.js @@ -1,7 +1,6 @@ /* global process */ const { ipcRenderer } = require('electron'); -const os = require('os'); const jitsiMeetElectronUtils = require('@jitsi/electron-sdk'); const { openExternalLink } = require('../features/utils/openExternalLink'); @@ -9,7 +8,6 @@ const { openExternalLink } = require('../features/utils/openExternalLink'); const whitelistedIpcChannels = [ 'protocol-data-msg', 'renderer-ready' ]; window.jitsiNodeAPI = { - osUserInfo: os.userInfo, openExternalLink, platform: process.platform, jitsiMeetElectronUtils, |