aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/features/conference/components/Conference.js124
-rw-r--r--app/features/onboarding/constants.js31
-rw-r--r--app/features/settings/actionTypes.js40
-rw-r--r--app/features/settings/actions.js70
-rw-r--r--app/features/settings/components/SettingsDrawer.js165
-rw-r--r--app/features/settings/reducer.js44
-rw-r--r--app/i18n/lang/de.json8
-rw-r--r--app/i18n/lang/en.json8
-rw-r--r--app/i18n/lang/es.json8
-rw-r--r--app/i18n/lang/fr.json8
-rw-r--r--app/i18n/lang/gl.json8
-rw-r--r--app/i18n/lang/hu.json8
-rw-r--r--app/i18n/lang/it.json8
-rw-r--r--app/i18n/lang/nl.json8
-rw-r--r--app/i18n/lang/pt-br.json8
-rw-r--r--app/i18n/lang/ru.json8
-rw-r--r--app/i18n/lang/sq.json8
-rw-r--r--app/preload/preload.js2
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,