mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-05-31 19:27:45 +00:00
Compare commits
100 Commits
6569
...
saghul-pat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd48025d09 | ||
|
|
e52c9043a5 | ||
|
|
ee5817539b | ||
|
|
da9b5a9156 | ||
|
|
bb84c47e78 | ||
|
|
13f4da7855 | ||
|
|
f935b29629 | ||
|
|
f5f689c53d | ||
|
|
af4ba32803 | ||
|
|
9e11bc302b | ||
|
|
438b3924d7 | ||
|
|
a2d0492007 | ||
|
|
c35d1d8d4b | ||
|
|
7d7bf987a1 | ||
|
|
3e744c5ffe | ||
|
|
f4f8808d95 | ||
|
|
21bcbdc12f | ||
|
|
090433b6e8 | ||
|
|
230cbfac1e | ||
|
|
c56c5bd145 | ||
|
|
f5a4fd4bc2 | ||
|
|
cb881311e7 | ||
|
|
ac2698f829 | ||
|
|
5fafb5d29e | ||
|
|
fbcdb250f4 | ||
|
|
ba8529d72b | ||
|
|
1230cebde2 | ||
|
|
93406bb12c | ||
|
|
d43eea91cf | ||
|
|
7364c7f27b | ||
|
|
2de2500080 | ||
|
|
349e4bfb57 | ||
|
|
4f92811263 | ||
|
|
a4e35f81cf | ||
|
|
7aefc3b94a | ||
|
|
3c180d3932 | ||
|
|
c523c07cb7 | ||
|
|
5c77f61037 | ||
|
|
8162ae4dbe | ||
|
|
69e0a37529 | ||
|
|
bfa88f13dc | ||
|
|
0d917df1fb | ||
|
|
95a3a8de0b | ||
|
|
f4985d8028 | ||
|
|
5d6aec3f3c | ||
|
|
2e6f14f872 | ||
|
|
90b17046f6 | ||
|
|
86ab2be65e | ||
|
|
11f138d28f | ||
|
|
e163d6438b | ||
|
|
24cb07b830 | ||
|
|
53df3a7b55 | ||
|
|
ca54533153 | ||
|
|
02f5987187 | ||
|
|
ce96b71bfa | ||
|
|
a32d237d54 | ||
|
|
48db099134 | ||
|
|
1106a86ba7 | ||
|
|
54346c065d | ||
|
|
c3ebde18df | ||
|
|
c613082ce1 | ||
|
|
eee096e0c0 | ||
|
|
9c6119606f | ||
|
|
077afecdba | ||
|
|
1b4bbcba3d | ||
|
|
32b8c62ec9 | ||
|
|
a9bc83db03 | ||
|
|
90bcbebedb | ||
|
|
c06d456ae6 | ||
|
|
fe0c804cc0 | ||
|
|
4ee77b1f65 | ||
|
|
7cbb377a66 | ||
|
|
0bccda2c9e | ||
|
|
3426960d5a | ||
|
|
fb2cfaa204 | ||
|
|
d61d47fae3 | ||
|
|
2cb9596536 | ||
|
|
62a10e6587 | ||
|
|
e38f9a293b | ||
|
|
eba7cfcec5 | ||
|
|
ae70370a38 | ||
|
|
45c67142e9 | ||
|
|
6a03e49b9e | ||
|
|
25e7b79237 | ||
|
|
779ecd6da6 | ||
|
|
dd4d49a591 | ||
|
|
63b6b5a72d | ||
|
|
df9185f92a | ||
|
|
9bb0decb30 | ||
|
|
e18240cfc6 | ||
|
|
1703ed8b23 | ||
|
|
945eda680c | ||
|
|
a378ba7827 | ||
|
|
73ab43ac0c | ||
|
|
3f5fa1e663 | ||
|
|
e05ad18ee4 | ||
|
|
6dd04136de | ||
|
|
ffe005ba0a | ||
|
|
7393c20ed8 | ||
|
|
7509b520f3 |
@@ -1,5 +1,6 @@
|
||||
module.exports = {
|
||||
'extends': [
|
||||
'@jitsi/eslint-config'
|
||||
]
|
||||
],
|
||||
'ignorePatterns': [ '*.d.ts' ]
|
||||
};
|
||||
|
||||
34
.github/workflows/ci.yml
vendored
34
.github/workflows/ci.yml
vendored
@@ -3,14 +3,15 @@ name: Simple CI
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
run-ci:
|
||||
name: Build Frontend
|
||||
lint:
|
||||
name: Lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '16.x'
|
||||
node-version: 16
|
||||
cache: 'npm'
|
||||
- run: npm install
|
||||
- name: Check git status
|
||||
run: git status
|
||||
@@ -20,6 +21,25 @@ jobs:
|
||||
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
|
||||
- run: npm run lint
|
||||
- run: for file in lang/*.json; do npx --yes jsonlint -q $file || exit 1; done
|
||||
- env:
|
||||
NODE_OPTIONS: '--max-old-space-size=8192'
|
||||
run: make
|
||||
linux-build:
|
||||
name: Build Frontend (Linux)
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
cache: 'npm'
|
||||
- run: npm install
|
||||
- run: make
|
||||
macos-ci:
|
||||
name: Build Frontend (macOS)
|
||||
runs-on: macOS-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
cache: 'npm'
|
||||
- run: npm install
|
||||
- run: make
|
||||
|
||||
26
Makefile
26
Makefile
@@ -5,6 +5,8 @@ LIBJITSIMEET_DIR = node_modules/lib-jitsi-meet
|
||||
OLM_DIR = node_modules/@matrix-org/olm
|
||||
TF_WASM_DIR = node_modules/@tensorflow/tfjs-backend-wasm/dist/
|
||||
RNNOISE_WASM_DIR = node_modules/@jitsi/rnnoise-wasm/dist
|
||||
EXCALIDRAW_DIR = node_modules/@jitsi/excalidraw/dist/excalidraw-assets
|
||||
EXCALIDRAW_DIR_DEV = node_modules/@jitsi/excalidraw/dist/excalidraw-assets-dev
|
||||
TFLITE_WASM = react/features/stream-effects/virtual-background/vendor/tflite
|
||||
MEET_MODELS_DIR = react/features/stream-effects/virtual-background/vendor/models
|
||||
FACE_MODELS_DIR = node_modules/@vladmandic/human-models/models
|
||||
@@ -14,19 +16,25 @@ OUTPUT_DIR = .
|
||||
STYLES_BUNDLE = css/all.bundle.css
|
||||
STYLES_DESTINATION = css/all.css
|
||||
STYLES_MAIN = css/main.scss
|
||||
WEBPACK = ./node_modules/.bin/webpack
|
||||
WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development
|
||||
ifeq ($(OS),Windows_NT)
|
||||
WEBPACK = .\node_modules\.bin\webpack
|
||||
WEBPACK_DEV_SERVER = .\node_modules\.bin\webpack serve --mode development
|
||||
else
|
||||
WEBPACK = ./node_modules/.bin/webpack
|
||||
WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development
|
||||
endif
|
||||
|
||||
all: compile deploy clean
|
||||
|
||||
compile:
|
||||
NODE_OPTIONS=--max-old-space-size=8192 \
|
||||
$(WEBPACK)
|
||||
|
||||
clean:
|
||||
rm -fr $(BUILD_DIR)
|
||||
|
||||
.NOTPARALLEL:
|
||||
deploy: deploy-init deploy-appbundle deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-css deploy-local deploy-face-landmarks
|
||||
deploy: deploy-init deploy-appbundle deploy-rnnoise-binary deploy-excalidraw deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-css deploy-local deploy-face-landmarks
|
||||
|
||||
deploy-init:
|
||||
rm -fr $(DEPLOY_DIR)
|
||||
@@ -86,6 +94,16 @@ deploy-tflite:
|
||||
$(TFLITE_WASM)/*.wasm \
|
||||
$(DEPLOY_DIR)
|
||||
|
||||
deploy-excalidraw:
|
||||
cp -R \
|
||||
$(EXCALIDRAW_DIR) \
|
||||
$(DEPLOY_DIR)/
|
||||
|
||||
deploy-excalidraw-dev:
|
||||
cp -R \
|
||||
$(EXCALIDRAW_DIR_DEV) \
|
||||
$(DEPLOY_DIR)/
|
||||
|
||||
deploy-meet-models:
|
||||
cp \
|
||||
$(MEET_MODELS_DIR)/*.tflite \
|
||||
@@ -108,7 +126,7 @@ deploy-local:
|
||||
([ ! -x deploy-local.sh ] || ./deploy-local.sh)
|
||||
|
||||
.NOTPARALLEL:
|
||||
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-face-landmarks
|
||||
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-excalidraw-dev deploy-face-landmarks
|
||||
$(WEBPACK_DEV_SERVER)
|
||||
|
||||
source-package:
|
||||
|
||||
@@ -18,7 +18,6 @@ Amongst others here are the main features Jitsi Meet offers:
|
||||
* Web and native SDKs for integration
|
||||
* HD audio and video
|
||||
* Content sharing
|
||||
* End-to-End Encryption
|
||||
* Raise hand and reactions
|
||||
* Chat with private conversations
|
||||
* Polls
|
||||
|
||||
@@ -27,10 +27,6 @@ ext {
|
||||
if (System.properties['os.arch'] == "aarch64") {
|
||||
// For M1 Users we need to use the NDK 24 which added support for aarch64
|
||||
ndkVersion = "24.0.8215888"
|
||||
} else if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
||||
// For Android Users, we need to use NDK 23, otherwise the build will
|
||||
// fail due to paths longer than the OS limit
|
||||
ndkVersion = "23.1.7779620"
|
||||
} else {
|
||||
// Otherwise we default to the side-by-side NDK version from AGP.
|
||||
ndkVersion = "21.4.7075529"
|
||||
|
||||
11
android/scripts/logcat.sh
Executable file
11
android/scripts/logcat.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
PKG_NAME=${1:-org.jitsi.meet}
|
||||
APP_PID=$(adb shell ps | grep $PKG_NAME | awk '{print $2}')
|
||||
|
||||
if [[ -z "$APP_PID" ]]; then
|
||||
echo "App is not running"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec adb logcat --pid=$APP_PID
|
||||
@@ -77,6 +77,7 @@ dependencies {
|
||||
implementation project(':react-native-immersive')
|
||||
implementation project(':react-native-keep-awake')
|
||||
implementation project(':react-native-masked-view_masked-view')
|
||||
implementation project(':react-native-orientation-locker')
|
||||
implementation project(':react-native-pager-view')
|
||||
implementation project(':react-native-performance')
|
||||
implementation project(':react-native-safe-area-context')
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Configuration;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
||||
@@ -30,6 +31,7 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import com.facebook.react.modules.core.PermissionListener;
|
||||
|
||||
import org.wonday.orientation.OrientationActivityLifecycle;
|
||||
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -86,6 +88,14 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
// Overrides
|
||||
//
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
Intent intent = new Intent("onConfigurationChanged");
|
||||
intent.putExtra("newConfig", newConfig);
|
||||
this.sendBroadcast(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -94,6 +104,7 @@ public class JitsiMeetActivity extends AppCompatActivity
|
||||
this.jitsiView = findViewById(R.id.jitsiView);
|
||||
|
||||
registerForBroadcastMessages();
|
||||
registerActivityLifecycleCallbacks(OrientationActivityLifecycle.getInstance());
|
||||
|
||||
if (!extraInitialize()) {
|
||||
initialize();
|
||||
|
||||
@@ -85,6 +85,7 @@ class ReactInstanceManagerHolder {
|
||||
WebRTCModule.Options options = new WebRTCModule.Options();
|
||||
|
||||
AudioDeviceModule adm = JavaAudioDeviceModule.builder(reactContext)
|
||||
.setEnableVolumeLogger(false)
|
||||
.createAudioDeviceModule();
|
||||
options.setAudioDeviceModule(adm);
|
||||
|
||||
@@ -128,6 +129,7 @@ class ReactInstanceManagerHolder {
|
||||
new com.zmxv.RNSound.RNSoundPackage(),
|
||||
new com.th3rdwave.safeareacontext.SafeAreaContextPackage(),
|
||||
new com.horcrux.svg.SvgPackage(),
|
||||
new org.wonday.orientation.OrientationPackage(),
|
||||
new ReactPackageAdapter() {
|
||||
@Override
|
||||
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
||||
|
||||
@@ -33,6 +33,8 @@ include ':react-native-keep-awake'
|
||||
project(':react-native-keep-awake').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keep-awake/android')
|
||||
include ':react-native-masked-view_masked-view'
|
||||
project(':react-native-masked-view_masked-view').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-masked-view/masked-view/android')
|
||||
include ':react-native-orientation-locker'
|
||||
project(':react-native-orientation-locker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-orientation-locker/android')
|
||||
include ':react-native-pager-view'
|
||||
project(':react-native-pager-view').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-pager-view/android')
|
||||
include ':react-native-performance'
|
||||
|
||||
@@ -15,8 +15,8 @@ import Recorder from './modules/recorder/Recorder';
|
||||
import { createTaskQueue } from './modules/util/helpers';
|
||||
import {
|
||||
createDeviceChangedEvent,
|
||||
createStartSilentEvent,
|
||||
createScreenSharingEvent,
|
||||
createStartSilentEvent,
|
||||
createTrackMutedEvent,
|
||||
sendAnalytics
|
||||
} from './react/features/analytics';
|
||||
@@ -30,14 +30,15 @@ import { shouldShowModeratedNotification } from './react/features/av-moderation/
|
||||
import { setAudioOnly } from './react/features/base/audio-only';
|
||||
import {
|
||||
AVATAR_URL_COMMAND,
|
||||
CONFERENCE_LEAVE_REASONS,
|
||||
EMAIL_COMMAND,
|
||||
_conferenceWillJoin,
|
||||
authStatusChanged,
|
||||
commonUserJoinedHandling,
|
||||
commonUserLeftHandling,
|
||||
conferenceFailed,
|
||||
conferenceJoined,
|
||||
conferenceJoinInProgress,
|
||||
conferenceJoined,
|
||||
conferenceLeft,
|
||||
conferenceSubjectChanged,
|
||||
conferenceTimestampChanged,
|
||||
@@ -49,15 +50,14 @@ import {
|
||||
getConferenceOptions,
|
||||
kickedOut,
|
||||
lockStateChanged,
|
||||
nonParticipantMessageReceived,
|
||||
onStartMutedPolicyChanged,
|
||||
p2pStatusChanged,
|
||||
sendLocalParticipant,
|
||||
nonParticipantMessageReceived,
|
||||
CONFERENCE_LEAVE_REASONS
|
||||
sendLocalParticipant
|
||||
} from './react/features/base/conference';
|
||||
import {
|
||||
getReplaceParticipant,
|
||||
getMultipleVideoSendingSupportFeatureFlag
|
||||
getMultipleVideoSendingSupportFeatureFlag,
|
||||
getReplaceParticipant
|
||||
} from './react/features/base/config/functions';
|
||||
import {
|
||||
checkAndNotifyForNewDevice,
|
||||
@@ -69,7 +69,6 @@ import {
|
||||
updateDeviceList
|
||||
} from './react/features/base/devices';
|
||||
import {
|
||||
browser,
|
||||
JitsiConferenceErrors,
|
||||
JitsiConferenceEvents,
|
||||
JitsiConnectionErrors,
|
||||
@@ -78,14 +77,15 @@ import {
|
||||
JitsiMediaDevicesEvents,
|
||||
JitsiParticipantConnectionStatus,
|
||||
JitsiTrackErrors,
|
||||
JitsiTrackEvents
|
||||
JitsiTrackEvents,
|
||||
browser
|
||||
} from './react/features/base/lib-jitsi-meet';
|
||||
import { isFatalJitsiConnectionError } from './react/features/base/lib-jitsi-meet/functions';
|
||||
import {
|
||||
MEDIA_TYPE,
|
||||
getStartWithAudioMuted,
|
||||
getStartWithVideoMuted,
|
||||
isVideoMutedByUser,
|
||||
MEDIA_TYPE,
|
||||
setAudioAvailable,
|
||||
setAudioMuted,
|
||||
setAudioUnmutePermissions,
|
||||
@@ -140,11 +140,11 @@ import {
|
||||
import { maybeSetLobbyChatMessageListener } from './react/features/lobby/actions.any';
|
||||
import { setNoiseSuppressionEnabled } from './react/features/noise-suppression/actions';
|
||||
import {
|
||||
NOTIFICATION_TIMEOUT_TYPE,
|
||||
isModerationNotificationDisplayed,
|
||||
showNotification,
|
||||
NOTIFICATION_TIMEOUT_TYPE
|
||||
showNotification
|
||||
} from './react/features/notifications';
|
||||
import { mediaPermissionPromptVisibilityChanged, toggleSlowGUMOverlay } from './react/features/overlay';
|
||||
import { mediaPermissionPromptVisibilityChanged } from './react/features/overlay';
|
||||
import { suspendDetected } from './react/features/power-monitor';
|
||||
import {
|
||||
initPrejoin,
|
||||
@@ -153,7 +153,7 @@ import {
|
||||
setJoiningInProgress
|
||||
} from './react/features/prejoin';
|
||||
import { disableReceiver, stopReceiver } from './react/features/remote-control';
|
||||
import { setScreenAudioShareState, isScreenAudioShared } from './react/features/screen-share/';
|
||||
import { isScreenAudioShared, setScreenAudioShareState } from './react/features/screen-share/';
|
||||
import { toggleScreenshotCaptureSummary } from './react/features/screenshot-capture';
|
||||
import { isScreenshotCaptureEnabled } from './react/features/screenshot-capture/functions';
|
||||
import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/AudioMixerEffect';
|
||||
@@ -519,11 +519,6 @@ export default {
|
||||
);
|
||||
}
|
||||
|
||||
JitsiMeetJS.mediaDevices.addEventListener(
|
||||
JitsiMediaDevicesEvents.SLOW_GET_USER_MEDIA,
|
||||
() => APP.store.dispatch(toggleSlowGUMOverlay(true))
|
||||
);
|
||||
|
||||
let tryCreateLocalTracks;
|
||||
|
||||
// On Electron there is no permission prompt for granting permissions. That's why we don't need to
|
||||
@@ -533,8 +528,7 @@ export default {
|
||||
const audioOptions = {
|
||||
devices: [ MEDIA_TYPE.AUDIO ],
|
||||
timeout,
|
||||
firePermissionPromptIsShownEvent: true,
|
||||
fireSlowPromiseEvent: true
|
||||
firePermissionPromptIsShownEvent: true
|
||||
};
|
||||
|
||||
// FIXME is there any simpler way to rewrite this spaghetti below ?
|
||||
@@ -585,8 +579,7 @@ export default {
|
||||
tryCreateLocalTracks = createLocalTracksF({
|
||||
devices: initialDevices,
|
||||
timeout,
|
||||
firePermissionPromptIsShownEvent: true,
|
||||
fireSlowPromiseEvent: true
|
||||
firePermissionPromptIsShownEvent: true
|
||||
})
|
||||
.catch(err => {
|
||||
if (requestedAudio && requestedVideo) {
|
||||
@@ -629,8 +622,7 @@ export default {
|
||||
return requestedVideo
|
||||
? createLocalTracksF({
|
||||
devices: [ MEDIA_TYPE.VIDEO ],
|
||||
firePermissionPromptIsShownEvent: true,
|
||||
fireSlowPromiseEvent: true
|
||||
firePermissionPromptIsShownEvent: true
|
||||
})
|
||||
: [];
|
||||
})
|
||||
@@ -651,7 +643,6 @@ export default {
|
||||
// the user inputs their credentials, but the dialog would be
|
||||
// overshadowed by the overlay.
|
||||
tryCreateLocalTracks.then(tracks => {
|
||||
APP.store.dispatch(toggleSlowGUMOverlay(false));
|
||||
APP.store.dispatch(mediaPermissionPromptVisibilityChanged(false));
|
||||
|
||||
return tracks;
|
||||
@@ -791,7 +782,6 @@ export default {
|
||||
startAudioOnly: config.startAudioOnly,
|
||||
startScreenSharing: config.startScreenSharing,
|
||||
startWithAudioMuted: getStartWithAudioMuted(APP.store.getState())
|
||||
|| config.startSilent
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState()),
|
||||
startWithVideoMuted: getStartWithVideoMuted(APP.store.getState())
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState())
|
||||
|
||||
26
config.js
26
config.js
@@ -114,7 +114,7 @@ var config = {
|
||||
|
||||
// Signal that this client supports receiving multiple video streams. Without this flag jicofo will enable
|
||||
// multi-stream backward compatibility.
|
||||
receiveMultipleVideoStreams: true,
|
||||
// receiveMultipleVideoStreams: true,
|
||||
},
|
||||
|
||||
// Disables moderator indicators.
|
||||
@@ -208,9 +208,12 @@ var config = {
|
||||
|
||||
// Specify audio quality stereo and opusMaxAverageBitrate values in order to enable HD audio.
|
||||
// Beware, by doing so, you are disabling echo cancellation, noise suppression and AGC.
|
||||
// Specify enableOpusDtx to enable support for opus-dtx where
|
||||
// audio packets won’t be transmitted while participant is silent or muted.
|
||||
// audioQuality: {
|
||||
// stereo: false,
|
||||
// opusMaxAverageBitrate: null, // Value to fit the 6000 to 510000 range.
|
||||
// enableOpusDtx: false,
|
||||
// },
|
||||
|
||||
// Video
|
||||
@@ -375,6 +378,14 @@ var config = {
|
||||
// // Whether the feature should be enabled or not.
|
||||
// enabled: false,
|
||||
|
||||
// // Translation languages.
|
||||
// // Available languages can be found in
|
||||
// // ./src/react/features/transcribing/translation-languages.json.
|
||||
// translationLanguages: ['en', 'es', 'fr', 'ro'],
|
||||
|
||||
// // Important languages to show on the top of the language list.
|
||||
// translationLanguagesHead: ['en'],
|
||||
|
||||
// // If true transcriber will use the application language.
|
||||
// // The application language is either explicitly set by participants in their settings or automatically
|
||||
// // detected based on the environment, e.g. if the app is opened in a chrome instance which
|
||||
@@ -824,7 +835,7 @@ var config = {
|
||||
// Application ID and Secret.
|
||||
// callStatsID: '',
|
||||
// callStatsSecret: '',
|
||||
// callstatsStoreLogs: true,
|
||||
// callStatsApplicationLogsDisabled: false,
|
||||
|
||||
// The callstats initialize config params as described in the API:
|
||||
// https://docs.callstats.io/docs/javascript#callstatsinitialize-with-app-secret
|
||||
@@ -1163,7 +1174,7 @@ var config = {
|
||||
// For a list of all possible theme tokens and their current defaults, please check:
|
||||
// https://github.com/jitsi/jitsi-meet/tree/master/resources/custom-theme/custom-theme.json
|
||||
// For a short explanations on each of the tokens, please check:
|
||||
// https://github.com/jitsi/jitsi-meet/blob/master/react/features/base/ui/Tokens.js
|
||||
// https://github.com/jitsi/jitsi-meet/blob/master/react/features/base/ui/Tokens.ts
|
||||
// IMPORTANT!: This is work in progress so many of the various tokens are not yet applied in code
|
||||
// or they are partially applied.
|
||||
customTheme: {
|
||||
@@ -1494,6 +1505,15 @@ var config = {
|
||||
|
||||
// Application logo url
|
||||
// defaultLogoUrl: 'images/watermark.svg',
|
||||
|
||||
// Settings for the Excalidraw whiteboard integration.
|
||||
// whiteboard: {
|
||||
// // Whether the feature is enabled or not.
|
||||
// enabled: true,
|
||||
// // The server used to support whiteboard collaboration.
|
||||
// // https://github.com/jitsi/excalidraw-backend
|
||||
// collabServerBaseUrl: 'https://excalidraw-backend.example.com',
|
||||
// },
|
||||
};
|
||||
|
||||
// Set the default values for JaaS customers
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
} from './react/features/base/lib-jitsi-meet';
|
||||
import { isFatalJitsiConnectionError } from './react/features/base/lib-jitsi-meet/functions';
|
||||
import { getCustomerDetails } from './react/features/jaas/actions.any';
|
||||
import { isVpaasMeeting, getJaasJWT } from './react/features/jaas/functions';
|
||||
import { getJaasJWT, isVpaasMeeting } from './react/features/jaas/functions';
|
||||
import {
|
||||
setPrejoinDisplayNameRequired
|
||||
} from './react/features/prejoin/actions';
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
// extract header + tabs height
|
||||
height: calc(100% - 102px);
|
||||
height: calc(100% - 119px);
|
||||
}
|
||||
|
||||
.chat-panel-no-tabs {
|
||||
@@ -531,41 +531,3 @@
|
||||
background: #36383C;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.chat-tabs-container {
|
||||
width: 100%;
|
||||
border-bottom: thin solid #292929;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.chat-tab {
|
||||
font-size: 1.2em;
|
||||
padding-bottom: 0.5em;
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
color: #8B8B8B;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.chat-tab-focus {
|
||||
border-bottom-style: solid;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
.chat-tab-title {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.chat-tab-badge {
|
||||
background-color: #165ecc;
|
||||
border-radius: 50%;
|
||||
box-sizing: border-box;
|
||||
font-weight: 700;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
padding: 0 4px;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
@@ -310,7 +310,7 @@ ol.poll-result-list {
|
||||
}
|
||||
|
||||
#polls-panel {
|
||||
height: calc(100% - 102px);
|
||||
height: calc(100% - 119px);
|
||||
}
|
||||
|
||||
.poll-container {
|
||||
|
||||
@@ -45,3 +45,7 @@
|
||||
margin: -16px -24px;
|
||||
z-index: $popoverZ;
|
||||
}
|
||||
|
||||
.excalidraw .popover {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
* tiled thumbnail experience.
|
||||
*/
|
||||
.tile-view,
|
||||
.whiteboard-container,
|
||||
.stage-filmstrip {
|
||||
/**
|
||||
* Let the avatar grow with the tile.
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
color: #6FB1EA;
|
||||
}
|
||||
|
||||
& > :first-child:not(:last-child) {
|
||||
& > :not(:last-child) {
|
||||
margin-right: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
4
debian/control
vendored
4
debian/control
vendored
@@ -33,7 +33,7 @@ Description: Configuration for web serving of Jitsi Meet
|
||||
|
||||
Package: jitsi-meet-prosody
|
||||
Architecture: all
|
||||
Depends: openssl, prosody (>= 0.11.0) | prosody-trunk | prosody-0.12 | prosody-0.11, lua-sec, lua-basexx, lua-luaossl, lua-cjson, lua-inspect
|
||||
Depends: openssl, prosody (>= 0.11.7) | prosody-trunk | prosody-0.12 | prosody-0.11, lua-sec, lua-basexx, lua-luaossl, lua-cjson, lua-inspect
|
||||
Replaces: jitsi-meet-tokens
|
||||
Description: Prosody configuration for Jitsi Meet
|
||||
Jitsi Meet is a WebRTC JavaScript application that uses Jitsi
|
||||
@@ -47,7 +47,7 @@ Description: Prosody configuration for Jitsi Meet
|
||||
|
||||
Package: jitsi-meet-tokens
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, prosody-trunk | prosody-0.11 | prosody-0.12 | prosody (>= 0.11.2), jitsi-meet-prosody
|
||||
Depends: ${misc:Depends}, prosody-trunk | prosody-0.11 | prosody-0.12 | prosody (>= 0.11.7), jitsi-meet-prosody
|
||||
Description: Prosody token authentication plugin for Jitsi Meet
|
||||
|
||||
Package: jitsi-meet-turnserver
|
||||
|
||||
24
debian/jitsi-meet-prosody.postinst
vendored
24
debian/jitsi-meet-prosody.postinst
vendored
@@ -83,17 +83,29 @@ case "$1" in
|
||||
TURN_SECRET="$RET"
|
||||
fi
|
||||
|
||||
db_get jitsi-meet/jaas-choice
|
||||
JAAS_INPUT="$RET"
|
||||
SELF_SIGNED_CHOICE="Generate a new self-signed certificate"
|
||||
# In the case of updating from an older version the configure of -prosody package may happen before the -config
|
||||
# one, so if JAAS_INPUT is empty (the question is not asked), let's ask it now.
|
||||
if [ -z "$JAAS_INPUT" ] ; then
|
||||
db_subst jitsi-meet/jaas-choice domain "${JVB_HOSTNAME}"
|
||||
db_set jitsi-meet/jaas-choice false
|
||||
db_input critical jitsi-meet/jaas-choice || true
|
||||
# If db_get returns an error (workaround for strange Debian failure) continue without stopping the config
|
||||
db_get jitsi-meet/cert-choice || CERT_CHOICE=$SELF_SIGNED_CHOICE
|
||||
CERT_CHOICE="$RET"
|
||||
if [ -z "$CERT_CHOICE" ] ; then
|
||||
db_input critical jitsi-meet/cert-choice || true
|
||||
db_go
|
||||
db_get jitsi-meet/cert-choice
|
||||
CERT_CHOICE="$RET"
|
||||
fi
|
||||
if [ "$CERT_CHOICE" != "$SELF_SIGNED_CHOICE" ]; then
|
||||
db_get jitsi-meet/jaas-choice
|
||||
JAAS_INPUT="$RET"
|
||||
if [ -z "$JAAS_INPUT" ] ; then
|
||||
db_subst jitsi-meet/jaas-choice domain "${JVB_HOSTNAME}"
|
||||
db_set jitsi-meet/jaas-choice false
|
||||
db_input critical jitsi-meet/jaas-choice || true
|
||||
db_go
|
||||
db_get jitsi-meet/jaas-choice
|
||||
JAAS_INPUT="$RET"
|
||||
fi
|
||||
fi
|
||||
|
||||
# and we're done with debconf
|
||||
|
||||
49
debian/jitsi-meet-web-config.postinst
vendored
49
debian/jitsi-meet-web-config.postinst
vendored
@@ -68,22 +68,20 @@ case "$1" in
|
||||
FORCE_NGINX="false"
|
||||
fi
|
||||
|
||||
db_subst jitsi-meet/jaas-choice domain "${JVB_HOSTNAME}"
|
||||
db_set jitsi-meet/jaas-choice false
|
||||
db_input critical jitsi-meet/jaas-choice || true
|
||||
db_go
|
||||
db_get jitsi-meet/jaas-choice
|
||||
JAAS_INPUT="$RET"
|
||||
|
||||
UPLOADED_CERT_CHOICE="I want to use my own certificate"
|
||||
LE_CERT_CHOICE="Let's Encrypt certificates"
|
||||
# if first time config ask for certs, or if we are reconfiguring
|
||||
if [ -z "$JVB_HOSTNAME_OLD" ] || [ "$RECONFIGURING" = "true" ] ; then
|
||||
RET=""
|
||||
db_input critical jitsi-meet/cert-choice || true
|
||||
db_go
|
||||
# ask the question only if there is nothing stored, option to pre-set it on install in automations
|
||||
db_get jitsi-meet/cert-choice
|
||||
CERT_CHOICE="$RET"
|
||||
if [ -z "$CERT_CHOICE" ] ; then
|
||||
db_input critical jitsi-meet/cert-choice || true
|
||||
db_go
|
||||
db_get jitsi-meet/cert-choice
|
||||
CERT_CHOICE="$RET"
|
||||
fi
|
||||
|
||||
if [ "$CERT_CHOICE" = "$UPLOADED_CERT_CHOICE" ]; then
|
||||
RET=""
|
||||
@@ -143,6 +141,20 @@ case "$1" in
|
||||
sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" $JITSI_MEET_CONFIG
|
||||
fi
|
||||
|
||||
if [ "$CERT_CHOICE" = "$LE_CERT_CHOICE" ] || [ "$CERT_CHOICE" = "$UPLOADED_CERT_CHOICE" ]; then
|
||||
# Make sure jaas-choice is not answered already
|
||||
db_get jitsi-meet/jaas-choice
|
||||
JAAS_INPUT="$RET"
|
||||
if [ -z "$JAAS_INPUT" ] ; then
|
||||
db_subst jitsi-meet/jaas-choice domain "${JVB_HOSTNAME}"
|
||||
db_set jitsi-meet/jaas-choice false
|
||||
db_input critical jitsi-meet/jaas-choice || true
|
||||
db_go
|
||||
db_get jitsi-meet/jaas-choice
|
||||
JAAS_INPUT="$RET"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${JAAS_INPUT}" = "true" ] && ! grep -q "^var enableJaaS = true;$" $JITSI_MEET_CONFIG; then
|
||||
if grep -q "^var enableJaaS = false;$" $JITSI_MEET_CONFIG; then
|
||||
sed -i "s/^var enableJaaS = false;$/var enableJaaS = true;/g" $JITSI_MEET_CONFIG
|
||||
@@ -221,8 +233,15 @@ case "$1" in
|
||||
invoke-rc.d apache2 reload || true
|
||||
fi
|
||||
|
||||
if [ "$ISSUE_LE_CERT" = "true" ] ; then
|
||||
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh $EMAIL $JVB_HOSTNAME
|
||||
# If scripts fail they will print suggestions for next steps, do not fail install
|
||||
# those can be re-run later
|
||||
# run the scripts only on new install or when re-configuring
|
||||
if [[ "$ISSUE_LE_CERT" = "true" && ( -z "$JVB_HOSTNAME_OLD" || "$RECONFIGURING" = "true" ) ]] ; then
|
||||
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh $EMAIL $JVB_HOSTNAME || true
|
||||
fi
|
||||
JAAS_REG_ERROR=0
|
||||
if [[ "${JAAS_INPUT}" = "true" && ( -z "$JVB_HOSTNAME_OLD" || "$RECONFIGURING" = "true" ) ]] ; then
|
||||
/usr/share/jitsi-meet/scripts/register-jaas-account.sh $EMAIL $JVB_HOSTNAME || JAAS_REG_ERROR=$?
|
||||
fi
|
||||
|
||||
echo ""
|
||||
@@ -233,16 +252,16 @@ case "$1" in
|
||||
echo " .xMMMMNxkNc"
|
||||
echo " dMMMMMkxXc"
|
||||
echo " cNMMMNl.."
|
||||
if [ "${JAAS_INPUT}" != "true" ]; then
|
||||
if [ "${JAAS_INPUT}" != "true" ] || [ ${JAAS_REG_ERROR} -ne 0 ]; then
|
||||
echo " .kMMMX; Interested in adding telephony to your Jitsi meetings?"
|
||||
echo " ;XMMMO'"
|
||||
echo " lNMMWO' Sign up on https://jaas.8x8.vc/components?host=${JVB_HOSTNAME}"
|
||||
echo " lNMMM0, and follow the guide in the dev console."
|
||||
else
|
||||
echo " .kMMMX;"
|
||||
echo " ;XMMMO' Don't forget to sign up on"
|
||||
echo " lNMMWO' https://jaas.8x8.vc/components?host=${JVB_HOSTNAME}"
|
||||
echo " lNMMM0, in order to add telephony to your Jitsi meetings!"
|
||||
echo " ;XMMMO' Congratulations! Now you can use telephony in your Jitsi meetings!"
|
||||
echo " lNMMWO' We have created a free JaaS (Jitsi as a Service) account for you. "
|
||||
echo " lNMMM0, You can login to https://jaas.8x8.vc/components to check our developer console and your account details."
|
||||
fi
|
||||
echo " lXMMMK:."
|
||||
echo " ;KMMMNKd. 'oo,"
|
||||
|
||||
22
debian/jitsi-meet-web-config.templates
vendored
22
debian/jitsi-meet-web-config.templates
vendored
@@ -1,16 +1,13 @@
|
||||
Template: jitsi-meet/cert-choice
|
||||
Type: select
|
||||
__Choices: Generate a new self-signed certificate, Let's Encrypt certificates, I want to use my own certificate
|
||||
_Description: SSL certificate for the Jitsi Meet instance
|
||||
__Choices: Let's Encrypt certificates, I want to use my own certificate, Generate a new self-signed certificate
|
||||
_Description: SSL certificate
|
||||
.
|
||||
Jitsi Meet is best to be set up with an SSL certificate.
|
||||
Jitsi Meet requires an SSL certificate. This installer can generate one automatically for your using "Let’s Encrypt". This is the recommended and simplest option for most installations.
|
||||
.
|
||||
Having no certificate, a self-signed one will be generated.
|
||||
In the case of using a self-signed certificate, only the web app will be available with some warnings, the mobile app will not connect.
|
||||
Self-signed certificates are not supported by JaaS (Jitsi as a Service).
|
||||
In the event you need to use a certificate of your own, you can configure its location which defaults to /etc/ssl/--domain.name--.key for the key and /etc/ssl/--domain.name--.crt for the certificate.
|
||||
.
|
||||
Having a certificate signed by a recognised CA, it can be uploaded on the server and point its location.
|
||||
The default filenames will be /etc/ssl/--domain.name--.key for the key and /etc/ssl/--domain.name--.crt for the certificate.
|
||||
If you are a developer and are only looking for a quick way to test basic Jitsi Meet functionality then this installer can also generate a self-signed certificate.
|
||||
|
||||
Template: jitsi-meet/cert-path-key
|
||||
Type: string
|
||||
@@ -37,10 +34,7 @@ _Description: Hostname:
|
||||
Template: jitsi-meet/jaas-choice
|
||||
Type: boolean
|
||||
_Description: Interested in adding telephony to your Jitsi meetings?
|
||||
You can easily add dialing in support to your meetings using JaaS (Jitsi as a Service).
|
||||
You need to:
|
||||
- have a certificate signed by a recognised CA or Let’s Encrypt on your deployment
|
||||
- sign in for JaaS at https://jaas.8x8.vc/components?host=${domain}
|
||||
You can easily add dialing in support to your meetings. You need to give us the permission to create a free JaaS (Jitsi as a Service) account for you.
|
||||
|
||||
Template: jitsi-meet/email
|
||||
Type: string
|
||||
@@ -50,4 +44,6 @@ _Description: Enter your email:
|
||||
You need a working DNS record pointing to this machine(for hostname ${domain})"
|
||||
.
|
||||
You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf)
|
||||
by providing an email address for important account notifications
|
||||
by providing an email address for important account notifications.
|
||||
.
|
||||
We will use the email for creating your JaaS (Jitsi as a Service) account if that option was selected.
|
||||
|
||||
@@ -65,10 +65,12 @@ VirtualHost "jitmeet.example.com"
|
||||
"muc_lobby_rooms";
|
||||
"muc_breakout_rooms";
|
||||
"av_moderation";
|
||||
"room_metadata";
|
||||
}
|
||||
c2s_require_encryption = false
|
||||
lobby_muc = "lobby.jitmeet.example.com"
|
||||
breakout_rooms_muc = "breakout.jitmeet.example.com"
|
||||
room_metadata_component = "metadata.jitmeet.example.com"
|
||||
main_muc = "conference.jitmeet.example.com"
|
||||
-- muc_lobby_whitelist = { "recorder.jitmeet.example.com" } -- Here we can whitelist jibri to enter lobby enabled rooms
|
||||
|
||||
@@ -140,3 +142,7 @@ Component "lobby.jitmeet.example.com" "muc"
|
||||
"muc_rate_limit";
|
||||
"polls";
|
||||
}
|
||||
|
||||
Component "metadata.jitmeet.example.com" "room_metadata_component"
|
||||
muc_component = "conference.jitmeet.example.com"
|
||||
breakout_rooms_component = "breakout.jitmeet.example.com"
|
||||
|
||||
20
globals.d.ts
vendored
Normal file
20
globals.d.ts
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import { IStore } from "./react/features/app/types";
|
||||
import { IConfig } from "./react/features/base/config/configType";
|
||||
|
||||
export {};
|
||||
|
||||
declare global {
|
||||
const APP: {
|
||||
store: IStore;
|
||||
UI: any;
|
||||
API: any;
|
||||
conference: any;
|
||||
};
|
||||
const interfaceConfig: any;
|
||||
|
||||
interface Window {
|
||||
config?: IConfig;
|
||||
JITSI_MEET_LITE_SDK?: boolean;
|
||||
interfaceConfig?: any;
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@
|
||||
<link rel="manifest" id="manifest-placeholder">
|
||||
|
||||
<script>
|
||||
window.EXCALIDRAW_ASSET_PATH = 'libs/';
|
||||
// Dynamically generate the manifest location URL. It must be served from the document origin, and we may have
|
||||
// the base pointing to the CDN. This way we can generate a full URL which will bypass the base.
|
||||
document.querySelector('#manifest-placeholder').setAttribute('href', window.location.origin + '/manifest.json');
|
||||
|
||||
@@ -42,6 +42,7 @@ target 'JitsiMeetSDK' do
|
||||
|
||||
pod 'CocoaLumberjack', '3.7.2'
|
||||
pod 'ObjectiveDropboxOfficial', '6.2.3'
|
||||
pod 'JitsiWebRTC', '~> 106.0.0'
|
||||
end
|
||||
|
||||
target 'JitsiMeetSDKLite' do
|
||||
@@ -72,8 +73,13 @@ post_install do |installer|
|
||||
react_native_post_install(installer)
|
||||
__apply_Xcode_12_5_M1_post_install_workaround(installer)
|
||||
installer.pods_project.targets.each do |target|
|
||||
# https://github.com/CocoaPods/CocoaPods/issues/11402
|
||||
if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
|
||||
end
|
||||
end
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings['ENABLE_BITCODE'] = 'YES'
|
||||
config.build_settings['SUPPORTS_MACCATALYST'] = 'NO'
|
||||
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
|
||||
end
|
||||
|
||||
447
ios/Podfile.lock
447
ios/Podfile.lock
@@ -13,14 +13,14 @@ PODS:
|
||||
- CocoaLumberjack/Core (= 3.7.2)
|
||||
- CocoaLumberjack/Core (3.7.2)
|
||||
- DoubleConversion (1.1.6)
|
||||
- FBLazyVector (0.68.1)
|
||||
- FBReactNativeSpec (0.68.1):
|
||||
- FBLazyVector (0.68.3)
|
||||
- FBReactNativeSpec (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTRequired (= 0.68.1)
|
||||
- RCTTypeSafety (= 0.68.1)
|
||||
- React-Core (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- RCTRequired (= 0.68.3)
|
||||
- RCTTypeSafety (= 0.68.3)
|
||||
- React-Core (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- Firebase/Analytics (8.15.0):
|
||||
- Firebase/Core
|
||||
- Firebase/Core (8.15.0):
|
||||
@@ -133,6 +133,7 @@ PODS:
|
||||
- AppAuth/Core (~> 1.4)
|
||||
- GTMSessionFetcher/Core (~> 1.5)
|
||||
- GTMSessionFetcher/Core (1.7.0)
|
||||
- JitsiWebRTC (106.0.0)
|
||||
- libwebp (1.2.1):
|
||||
- libwebp/demux (= 1.2.1)
|
||||
- libwebp/mux (= 1.2.1)
|
||||
@@ -162,201 +163,201 @@ PODS:
|
||||
- DoubleConversion
|
||||
- fmt (~> 6.2.1)
|
||||
- glog
|
||||
- RCTRequired (0.68.1)
|
||||
- RCTTypeSafety (0.68.1):
|
||||
- FBLazyVector (= 0.68.1)
|
||||
- RCTRequired (0.68.3)
|
||||
- RCTTypeSafety (0.68.3):
|
||||
- FBLazyVector (= 0.68.3)
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTRequired (= 0.68.1)
|
||||
- React-Core (= 0.68.1)
|
||||
- React (0.68.1):
|
||||
- React-Core (= 0.68.1)
|
||||
- React-Core/DevSupport (= 0.68.1)
|
||||
- React-Core/RCTWebSocket (= 0.68.1)
|
||||
- React-RCTActionSheet (= 0.68.1)
|
||||
- React-RCTAnimation (= 0.68.1)
|
||||
- React-RCTBlob (= 0.68.1)
|
||||
- React-RCTImage (= 0.68.1)
|
||||
- React-RCTLinking (= 0.68.1)
|
||||
- React-RCTNetwork (= 0.68.1)
|
||||
- React-RCTSettings (= 0.68.1)
|
||||
- React-RCTText (= 0.68.1)
|
||||
- React-RCTVibration (= 0.68.1)
|
||||
- React-callinvoker (0.68.1)
|
||||
- React-Codegen (0.68.1):
|
||||
- FBReactNativeSpec (= 0.68.1)
|
||||
- RCTRequired (= 0.68.3)
|
||||
- React-Core (= 0.68.3)
|
||||
- React (0.68.3):
|
||||
- React-Core (= 0.68.3)
|
||||
- React-Core/DevSupport (= 0.68.3)
|
||||
- React-Core/RCTWebSocket (= 0.68.3)
|
||||
- React-RCTActionSheet (= 0.68.3)
|
||||
- React-RCTAnimation (= 0.68.3)
|
||||
- React-RCTBlob (= 0.68.3)
|
||||
- React-RCTImage (= 0.68.3)
|
||||
- React-RCTLinking (= 0.68.3)
|
||||
- React-RCTNetwork (= 0.68.3)
|
||||
- React-RCTSettings (= 0.68.3)
|
||||
- React-RCTText (= 0.68.3)
|
||||
- React-RCTVibration (= 0.68.3)
|
||||
- React-callinvoker (0.68.3)
|
||||
- React-Codegen (0.68.3):
|
||||
- FBReactNativeSpec (= 0.68.3)
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTRequired (= 0.68.1)
|
||||
- RCTTypeSafety (= 0.68.1)
|
||||
- React-Core (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-Core (0.68.1):
|
||||
- RCTRequired (= 0.68.3)
|
||||
- RCTTypeSafety (= 0.68.3)
|
||||
- React-Core (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-Core (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-Core/Default (= 0.68.3)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.68.1):
|
||||
- React-Core/CoreModulesHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/Default (0.68.1):
|
||||
- React-Core/Default (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.68.1):
|
||||
- React-Core/DevSupport (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default (= 0.68.1)
|
||||
- React-Core/RCTWebSocket (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-jsinspector (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-Core/Default (= 0.68.3)
|
||||
- React-Core/RCTWebSocket (= 0.68.3)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-jsinspector (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.68.1):
|
||||
- React-Core/RCTActionSheetHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.68.1):
|
||||
- React-Core/RCTAnimationHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.68.1):
|
||||
- React-Core/RCTBlobHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.68.1):
|
||||
- React-Core/RCTImageHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.68.1):
|
||||
- React-Core/RCTLinkingHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.68.1):
|
||||
- React-Core/RCTNetworkHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.68.1):
|
||||
- React-Core/RCTSettingsHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.68.1):
|
||||
- React-Core/RCTTextHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.68.1):
|
||||
- React-Core/RCTVibrationHeaders (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.68.1):
|
||||
- React-Core/RCTWebSocket (0.68.3):
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Core/Default (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsiexecutor (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-Core/Default (= 0.68.3)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsiexecutor (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- Yoga
|
||||
- React-CoreModules (0.68.1):
|
||||
- React-CoreModules (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTTypeSafety (= 0.68.1)
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/CoreModulesHeaders (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-RCTImage (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-cxxreact (0.68.1):
|
||||
- RCTTypeSafety (= 0.68.3)
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/CoreModulesHeaders (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-RCTImage (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-cxxreact (0.68.3):
|
||||
- boost (= 1.76.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-callinvoker (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-jsinspector (= 0.68.1)
|
||||
- React-logger (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-runtimeexecutor (= 0.68.1)
|
||||
- React-jsi (0.68.1):
|
||||
- React-callinvoker (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-jsinspector (= 0.68.3)
|
||||
- React-logger (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- React-runtimeexecutor (= 0.68.3)
|
||||
- React-jsi (0.68.3):
|
||||
- boost (= 1.76.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-jsi/Default (= 0.68.1)
|
||||
- React-jsi/Default (0.68.1):
|
||||
- React-jsi/Default (= 0.68.3)
|
||||
- React-jsi/Default (0.68.3):
|
||||
- boost (= 1.76.0)
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-jsiexecutor (0.68.1):
|
||||
- React-jsiexecutor (0.68.3):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-jsinspector (0.68.1)
|
||||
- React-logger (0.68.1):
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- React-jsinspector (0.68.3)
|
||||
- React-logger (0.68.3):
|
||||
- glog
|
||||
- react-native-background-timer (2.4.1):
|
||||
- React-Core
|
||||
@@ -366,6 +367,8 @@ PODS:
|
||||
- React
|
||||
- react-native-netinfo (7.1.7):
|
||||
- React-Core
|
||||
- react-native-orientation-locker (1.5.0):
|
||||
- React-Core
|
||||
- react-native-pager-view (5.4.9):
|
||||
- React-Core
|
||||
- react-native-performance (2.1.0):
|
||||
@@ -382,75 +385,76 @@ PODS:
|
||||
- react-native-video/Video (6.0.0-alpha.1):
|
||||
- PromisesSwift
|
||||
- React-Core
|
||||
- react-native-webrtc (1.100.1):
|
||||
- react-native-webrtc (1.106.1):
|
||||
- JitsiWebRTC (~> 106.0.0)
|
||||
- React-Core
|
||||
- react-native-webview (11.15.1):
|
||||
- React-Core
|
||||
- React-perflogger (0.68.1)
|
||||
- React-RCTActionSheet (0.68.1):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.68.1)
|
||||
- React-RCTAnimation (0.68.1):
|
||||
- React-perflogger (0.68.3)
|
||||
- React-RCTActionSheet (0.68.3):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.68.3)
|
||||
- React-RCTAnimation (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTTypeSafety (= 0.68.1)
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/RCTAnimationHeaders (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-RCTBlob (0.68.1):
|
||||
- RCTTypeSafety (= 0.68.3)
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/RCTAnimationHeaders (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-RCTBlob (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/RCTBlobHeaders (= 0.68.1)
|
||||
- React-Core/RCTWebSocket (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-RCTNetwork (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-RCTImage (0.68.1):
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/RCTBlobHeaders (= 0.68.3)
|
||||
- React-Core/RCTWebSocket (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-RCTNetwork (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-RCTImage (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTTypeSafety (= 0.68.1)
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/RCTImageHeaders (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-RCTNetwork (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-RCTLinking (0.68.1):
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/RCTLinkingHeaders (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-RCTNetwork (0.68.1):
|
||||
- RCTTypeSafety (= 0.68.3)
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/RCTImageHeaders (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-RCTNetwork (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-RCTLinking (0.68.3):
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/RCTLinkingHeaders (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-RCTNetwork (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTTypeSafety (= 0.68.1)
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/RCTNetworkHeaders (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-RCTSettings (0.68.1):
|
||||
- RCTTypeSafety (= 0.68.3)
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/RCTNetworkHeaders (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-RCTSettings (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- RCTTypeSafety (= 0.68.1)
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/RCTSettingsHeaders (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-RCTText (0.68.1):
|
||||
- React-Core/RCTTextHeaders (= 0.68.1)
|
||||
- React-RCTVibration (0.68.1):
|
||||
- RCTTypeSafety (= 0.68.3)
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/RCTSettingsHeaders (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-RCTText (0.68.3):
|
||||
- React-Core/RCTTextHeaders (= 0.68.3)
|
||||
- React-RCTVibration (0.68.3):
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-Codegen (= 0.68.1)
|
||||
- React-Core/RCTVibrationHeaders (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (= 0.68.1)
|
||||
- React-runtimeexecutor (0.68.1):
|
||||
- React-jsi (= 0.68.1)
|
||||
- ReactCommon/turbomodule/core (0.68.1):
|
||||
- React-Codegen (= 0.68.3)
|
||||
- React-Core/RCTVibrationHeaders (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (= 0.68.3)
|
||||
- React-runtimeexecutor (0.68.3):
|
||||
- React-jsi (= 0.68.3)
|
||||
- ReactCommon/turbomodule/core (0.68.3):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- RCT-Folly (= 2021.06.28.00-v2)
|
||||
- React-callinvoker (= 0.68.1)
|
||||
- React-Core (= 0.68.1)
|
||||
- React-cxxreact (= 0.68.1)
|
||||
- React-jsi (= 0.68.1)
|
||||
- React-logger (= 0.68.1)
|
||||
- React-perflogger (= 0.68.1)
|
||||
- React-callinvoker (= 0.68.3)
|
||||
- React-Core (= 0.68.3)
|
||||
- React-cxxreact (= 0.68.3)
|
||||
- React-jsi (= 0.68.3)
|
||||
- React-logger (= 0.68.3)
|
||||
- React-perflogger (= 0.68.3)
|
||||
- RNCalendarEvents (2.2.0):
|
||||
- React
|
||||
- RNCAsyncStorage (1.15.14):
|
||||
@@ -494,6 +498,7 @@ DEPENDENCIES:
|
||||
- Firebase/DynamicLinks (~> 8.0)
|
||||
- "giphy-react-native-sdk (from `../node_modules/@giphy/react-native-sdk`)"
|
||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||
- JitsiWebRTC (~> 106.0.0)
|
||||
- ObjectiveDropboxOfficial (= 6.2.3)
|
||||
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
|
||||
@@ -514,6 +519,7 @@ DEPENDENCIES:
|
||||
- react-native-get-random-values (from `../node_modules/react-native-get-random-values`)
|
||||
- react-native-keep-awake (from `../node_modules/react-native-keep-awake`)
|
||||
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
||||
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
|
||||
- react-native-pager-view (from `../node_modules/react-native-pager-view`)
|
||||
- react-native-performance (from `../node_modules/react-native-performance/ios`)
|
||||
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
|
||||
@@ -568,6 +574,7 @@ SPEC REPOS:
|
||||
- GoogleUtilities
|
||||
- GTMAppAuth
|
||||
- GTMSessionFetcher
|
||||
- JitsiWebRTC
|
||||
- libwebp
|
||||
- nanopb
|
||||
- ObjectiveDropboxOfficial
|
||||
@@ -623,6 +630,8 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native-keep-awake"
|
||||
react-native-netinfo:
|
||||
:path: "../node_modules/@react-native-community/netinfo"
|
||||
react-native-orientation-locker:
|
||||
:path: "../node_modules/react-native-orientation-locker"
|
||||
react-native-pager-view:
|
||||
:path: "../node_modules/react-native-pager-view"
|
||||
react-native-performance:
|
||||
@@ -697,8 +706,8 @@ SPEC CHECKSUMS:
|
||||
boost: a7c83b31436843459a1961bfd74b96033dc77234
|
||||
CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da
|
||||
DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662
|
||||
FBLazyVector: 2c76493a346ef8cacf1f442926a39f805fffec1f
|
||||
FBReactNativeSpec: 371350f24afa87b6aba606972ec959dcd4a95c9a
|
||||
FBLazyVector: 34f7420274737b6fcf2e2d9fd42641e66b4436a3
|
||||
FBReactNativeSpec: 68c23fb2cea9393190e0815b673d742fa33d2dab
|
||||
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
|
||||
FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa
|
||||
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
|
||||
@@ -716,48 +725,50 @@ SPEC CHECKSUMS:
|
||||
GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1
|
||||
GTMAppAuth: ad5c2b70b9a8689e1a04033c9369c4915bfcbe89
|
||||
GTMSessionFetcher: 43748f93435c2aa068b1cbe39655aaf600652e91
|
||||
JitsiWebRTC: f441eb0e2d67f0588bf24e21c5162e97342714fb
|
||||
libwebp: 98a37e597e40bfdb4c911fc98f2c53d0b12d05fc
|
||||
nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96
|
||||
ObjectiveDropboxOfficial: fe206ce8c0bc49976c249d472db7fdbc53ebbd53
|
||||
PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
|
||||
PromisesSwift: 99fddfe4a0ec88a56486644c0da106694c92a604
|
||||
RCT-Folly: 4d8508a426467c48885f1151029bc15fa5d7b3b8
|
||||
RCTRequired: 00581111c53531e39e3c6346ef0d2c0cf52a5a37
|
||||
RCTTypeSafety: 07e03ee7800e7dd65cba8e52ad0c2edb06c96604
|
||||
React: e61f4bf3c573d0c61c56b53dc3eb1d9daf0768a0
|
||||
React-callinvoker: 047d47230bb6fd66827f8cb0bea4e944ffd1309b
|
||||
React-Codegen: bb0403cde7374af091530e84e492589485aab480
|
||||
React-Core: a4a3a8e10d004b08e013c3d0438259dd89a3894c
|
||||
React-CoreModules: bb9f8bc36f1ae6d780b856927fa9d4aa01ccccc0
|
||||
React-cxxreact: 7dd472aefb8629d6080cbb859240bafccd902704
|
||||
React-jsi: b25808afe821b607d51c779bdd1717be8393b7ec
|
||||
React-jsiexecutor: 4a4bae5671b064a2248a690cf75957669489d08c
|
||||
React-jsinspector: 218a2503198ff28a085f8e16622a8d8f507c8019
|
||||
React-logger: f79dd3cc0f9b44f5611c6c7862badd891a862cf8
|
||||
RCTRequired: b8caca023d386d43740dfb94c2cf68f695fa5e77
|
||||
RCTTypeSafety: ec44ea1d6ad1e5cd6447b22159ff40c2ebbd23b1
|
||||
React: 9f8c8afb9a9d61b7a1b01a1c6fb7f0d4f902988f
|
||||
React-callinvoker: f813eee352cfd333208e8d67a72f584f5435769d
|
||||
React-Codegen: 771562186fec8c7830897f97ca59de683abd3184
|
||||
React-Core: 74670b4b715083e1c9003462f3f4fe32a70ba5c5
|
||||
React-CoreModules: 34bd5b93e5322e60102a5ad78b992c882e558022
|
||||
React-cxxreact: adc9fc6a9333ae779bd72effaf77173bd9f22bf7
|
||||
React-jsi: ab91137ea7d92a86e48b6f15d3a5580bea471776
|
||||
React-jsiexecutor: a5043e9e1e1bd13b80b58b228c6901b3721a4f54
|
||||
React-jsinspector: 86e89b9f135787a2e8eb74b3fc00ec61e9a80ae1
|
||||
React-logger: f790bd10f86b38012e108fb4b564023602702270
|
||||
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
|
||||
react-native-get-random-values: 30b3f74ca34e30e2e480de48e4add2706a40ac8f
|
||||
react-native-keep-awake: afad8a51dfef9fe9655a6344771be32c8596d774
|
||||
react-native-netinfo: 27f287f2d191693f3b9d01a4273137fcf91c3b5d
|
||||
react-native-orientation-locker: 851f6510d8046ea2f14aa169b1e01fcd309a94ba
|
||||
react-native-pager-view: 3ee7d4c7697fb3ef788346e834a60cca97ed8540
|
||||
react-native-performance: f4b6604a9d5a8a7407e34a82fab6c641d9a3ec12
|
||||
react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057
|
||||
react-native-slider: 6e9b86e76cce4b9e35b3403193a6432ed07e0c81
|
||||
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
|
||||
react-native-video: bb6f12a7198db53b261fefb5d609dc77417acc8b
|
||||
react-native-webrtc: 206a0ac12a5633d2ec4605174d7c9f12f0d674b2
|
||||
react-native-webrtc: 4a4c31be61f88d1d3356526eebce72f462a6760e
|
||||
react-native-webview: ea4899a1056c782afa96dd082179a66cbebf5504
|
||||
React-perflogger: 30ab8d6db10e175626069e742eead3ebe8f24fd5
|
||||
React-RCTActionSheet: 4b45da334a175b24dabe75f856b98fed3dfd6201
|
||||
React-RCTAnimation: d6237386cb04500889877845b3e9e9291146bc2e
|
||||
React-RCTBlob: bc9e2cd738c43bd2948e862e371402ef9584730a
|
||||
React-RCTImage: 9f8cac465c6e5837007f59ade2a0a741016dd6a3
|
||||
React-RCTLinking: 5073abb7d30cc0824b2172bd4582fc15bfc40510
|
||||
React-RCTNetwork: 28ff94aa7d8fc117fc800b87dd80869a00d2bef3
|
||||
React-RCTSettings: f27aa036f7270fe6ca43f8cdd1819e821fa429a0
|
||||
React-RCTText: 7cb6f86fa7bc86f22f16333ad243b158e63b2a68
|
||||
React-RCTVibration: 9e344c840176b0af9c84d5019eb4fed8b3c105a1
|
||||
React-runtimeexecutor: 7285b499d0339104b2813a1f58ad1ada4adbd6c0
|
||||
ReactCommon: bf2888a826ceedf54b99ad1b6182d1bc4a8a3984
|
||||
React-perflogger: fa15d1d29ff7557ee25ea48f7f59e65896fb3215
|
||||
React-RCTActionSheet: e83515333352a3cc19c146e3c7a63a8a9269da8f
|
||||
React-RCTAnimation: 8032daa2846e3db7ac28c4c5a207d0bfb5e1e3ad
|
||||
React-RCTBlob: fe40e206cebcb4f552e0ecdac3ef81b3baf3cb37
|
||||
React-RCTImage: dfc0df14cbfec1ec54fdd4700b8fe3bf8127dde2
|
||||
React-RCTLinking: ac9f65f0c8db738a6156ae7640ba92494b4770a5
|
||||
React-RCTNetwork: cf289a0386a1bd057e5eabb8563dfe5ce0af868c
|
||||
React-RCTSettings: 7889cfcf6c7d5738f3cb8889557a38eeea2f04ff
|
||||
React-RCTText: fd249e1f8406fb6e35cc77a2b9ff66a3477bf41a
|
||||
React-RCTVibration: f41f116aad644973f24653effb3db3de64fa0314
|
||||
React-runtimeexecutor: 8cdd80915ed6dabf2221a689f1f7ddb50ea5e9f3
|
||||
ReactCommon: 5b1b43a7d81a1ac4eec85f7c4db3283a14a3b13d
|
||||
RNCalendarEvents: 7e65eb4a94f53c1744d1e275f7fafcfaa619f7a3
|
||||
RNCAsyncStorage: ea6b5c280997b2b32a587793163b1f10e580c4f7
|
||||
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
|
||||
@@ -770,8 +781,8 @@ SPEC CHECKSUMS:
|
||||
RNSound: 27e8268bdb0a1f191f219a33267f7e0445e8d62f
|
||||
RNSVG: f3b60aeeaa81960e2e0536c3a9eef50b667ef3a9
|
||||
RNWatch: dae6c858a2051dbdcfb00b9a86cf4d90400263b4
|
||||
Yoga: 17cd9a50243093b547c1e539c749928dd68152da
|
||||
Yoga: 2f6a78c58dcc2963bd8e34d96a4246d9dff2e3a7
|
||||
|
||||
PODFILE CHECKSUM: a437875b597d999a137c671b1da54153fe31d23f
|
||||
PODFILE CHECKSUM: e671cdcdb80fab67e305861c36bfae8ed5a5b0ef
|
||||
|
||||
COCOAPODS: 1.11.3
|
||||
|
||||
@@ -31,11 +31,11 @@
|
||||
4EB0603C260E09D000F524C5 /* SocketConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EB06039260E09D000F524C5 /* SocketConnection.swift */; };
|
||||
4EB0603D260E09D000F524C5 /* DarwinNotificationCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EB0603A260E09D000F524C5 /* DarwinNotificationCenter.swift */; };
|
||||
4EB0603E260E09D000F524C5 /* SampleUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EB0603B260E09D000F524C5 /* SampleUploader.swift */; };
|
||||
DE050389256E904600DEE3A5 /* WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE050388256E904600DEE3A5 /* WebRTC.xcframework */; };
|
||||
DE05038A256E904600DEE3A5 /* WebRTC.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DE050388256E904600DEE3A5 /* WebRTC.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
DE4C456121DE1E4E00EA0709 /* FIRUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = DE4C455F21DE1E4E00EA0709 /* FIRUtilities.m */; };
|
||||
DEA9F289258A6EA800D4CD74 /* JitsiMeetSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEA9F288258A6EA800D4CD74 /* JitsiMeetSDK.framework */; };
|
||||
DEA9F28A258A6EA800D4CD74 /* JitsiMeetSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DEA9F288258A6EA800D4CD74 /* JitsiMeetSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
DED016F128ECBC9D009D5E8D /* WebRTC.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DED016F028ECBC9D009D5E8D /* WebRTC.xcframework */; };
|
||||
DED016F228ECBC9D009D5E8D /* WebRTC.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DED016F028ECBC9D009D5E8D /* WebRTC.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
E588011722789D43008B0561 /* JitsiMeetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58801132278944E008B0561 /* JitsiMeetContext.swift */; };
|
||||
E5C97B63227A1EB400199214 /* JitsiMeetCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5C97B62227A1EB400199214 /* JitsiMeetCommands.swift */; };
|
||||
FD572B9827EDF32300A800FB /* GiphyUISDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */; };
|
||||
@@ -75,7 +75,7 @@
|
||||
files = (
|
||||
DEA9F28A258A6EA800D4CD74 /* JitsiMeetSDK.framework in Embed Frameworks */,
|
||||
FD572B9927EDF32300A800FB /* GiphyUISDK.xcframework in Embed Frameworks */,
|
||||
DE05038A256E904600DEE3A5 /* WebRTC.xcframework in Embed Frameworks */,
|
||||
DED016F228ECBC9D009D5E8D /* WebRTC.xcframework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -158,6 +158,7 @@
|
||||
DE4C455F21DE1E4E00EA0709 /* FIRUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRUtilities.m; sourceTree = "<group>"; };
|
||||
DE4C456021DE1E4E00EA0709 /* FIRUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FIRUtilities.h; sourceTree = "<group>"; };
|
||||
DEA9F288258A6EA800D4CD74 /* JitsiMeetSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = JitsiMeetSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DED016F028ECBC9D009D5E8D /* WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = WebRTC.xcframework; path = ../Pods/JitsiWebRTC/WebRTC.xcframework; sourceTree = "<group>"; };
|
||||
DEFDBBDB25656E3B00344B23 /* WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = WebRTC.xcframework; path = "../../node_modules/react-native-webrtc/ios/WebRTC.xcframework"; sourceTree = "<group>"; };
|
||||
E58801132278944E008B0561 /* JitsiMeetContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetContext.swift; sourceTree = "<group>"; };
|
||||
E5C97B62227A1EB400199214 /* JitsiMeetCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetCommands.swift; sourceTree = "<group>"; };
|
||||
@@ -176,7 +177,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DE050389256E904600DEE3A5 /* WebRTC.xcframework in Frameworks */,
|
||||
DED016F128ECBC9D009D5E8D /* WebRTC.xcframework in Frameworks */,
|
||||
DEA9F289258A6EA800D4CD74 /* JitsiMeetSDK.framework in Frameworks */,
|
||||
FD572B9827EDF32300A800FB /* GiphyUISDK.xcframework in Frameworks */,
|
||||
2681BB562C7A0B42CFBA6719 /* libPods-JitsiMeet.a in Frameworks */,
|
||||
@@ -204,6 +205,7 @@
|
||||
0B26BE711EC5BC4D00EEFB41 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DED016F028ECBC9D009D5E8D /* WebRTC.xcframework */,
|
||||
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */,
|
||||
DEA9F288258A6EA800D4CD74 /* JitsiMeetSDK.framework */,
|
||||
DE050388256E904600DEE3A5 /* WebRTC.xcframework */,
|
||||
@@ -854,7 +856,6 @@
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEAD_CODE_STRIPPING = NO;
|
||||
DEVELOPMENT_TEAM = FC967L3QRG;
|
||||
ENABLE_BITCODE = NO;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
@@ -885,7 +886,6 @@
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = FC967L3QRG;
|
||||
ENABLE_BITCODE = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
@@ -1003,7 +1003,6 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_BITCODE = YES;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
@@ -1064,7 +1063,6 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_BITCODE = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
|
||||
@@ -124,4 +124,10 @@
|
||||
options:options];
|
||||
}
|
||||
|
||||
- (UIInterfaceOrientationMask)application:(UIApplication *)application
|
||||
supportedInterfaceOrientationsForWindow:(UIWindow *)window {
|
||||
return [[JitsiMeet sharedInstance] application:application
|
||||
supportedInterfaceOrientationsForWindow:window];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -78,7 +78,6 @@ platform :ios do
|
||||
# Actually build the app
|
||||
build_app(
|
||||
scheme: "JitsiMeet",
|
||||
include_bitcode: true,
|
||||
include_symbols: true,
|
||||
export_xcargs: "-allowProvisioningUpdates"
|
||||
)
|
||||
|
||||
@@ -35,7 +35,6 @@ xcodebuild archive \
|
||||
-sdk iphonesimulator \
|
||||
-destination='generic/platform=iOS Simulator' \
|
||||
-archivePath ios/sdk/out/ios-simulator \
|
||||
ENABLE_BITCODE=NO \
|
||||
SKIP_INSTALL=NO \
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
||||
xcodebuild archive \
|
||||
@@ -45,7 +44,6 @@ xcodebuild archive \
|
||||
-sdk iphoneos \
|
||||
-destination='generic/platform=iOS' \
|
||||
-archivePath ios/sdk/out/ios-device \
|
||||
ENABLE_BITCODE=NO \
|
||||
SKIP_INSTALL=NO \
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
||||
xcodebuild -create-xcframework \
|
||||
|
||||
@@ -12,8 +12,6 @@ DO_GIT_TAG=${GIT_TAG:-0}
|
||||
|
||||
echo "Releasing Jitsi Meet SDK ${SDK_VERSION}"
|
||||
|
||||
${THIS_DIR}/../../node_modules/react-native-webrtc/tools/downloadBitcode.sh
|
||||
|
||||
pushd ${RELEASE_REPO}
|
||||
|
||||
# Generate podspec file
|
||||
@@ -37,7 +35,6 @@ xcodebuild archive \
|
||||
-sdk iphonesimulator \
|
||||
-destination='generic/platform=iOS Simulator' \
|
||||
-archivePath ios/sdk/out/ios-simulator \
|
||||
ENABLE_BITCODE=YES \
|
||||
SKIP_INSTALL=NO \
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
||||
xcodebuild archive \
|
||||
@@ -47,7 +44,6 @@ xcodebuild archive \
|
||||
-sdk iphoneos \
|
||||
-destination='generic/platform=iOS' \
|
||||
-archivePath ios/sdk/out/ios-device \
|
||||
ENABLE_BITCODE=YES \
|
||||
SKIP_INSTALL=NO \
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
|
||||
xcodebuild -create-xcframework \
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
4ED4FFF42721B9B90074E620 /* JitsiAudioSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED4FFF22721B9B90074E620 /* JitsiAudioSession.m */; };
|
||||
4EEC9630286C73A2008705FA /* JitsiMeetView+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EEC962E286C73A2008705FA /* JitsiMeetView+Private.h */; };
|
||||
4EEC9631286C73A2008705FA /* JitsiMeetView+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EEC962F286C73A2008705FA /* JitsiMeetView+Private.m */; };
|
||||
6F08DF7D4458EE3CF3F36F6D /* (null) in Frameworks */ = {isa = PBXBuildFile; };
|
||||
6F08DF7D4458EE3CF3F36F6D /* BuildFile in Frameworks */ = {isa = PBXBuildFile; };
|
||||
9A8EE79C77C17743BB66E8BD /* libPods-JitsiMeetSDKLite.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B46497DE9A95BDF5E312AF48 /* libPods-JitsiMeetSDKLite.a */; };
|
||||
A4A934E9212F3ADB001E9388 /* Dropbox.m in Sources */ = {isa = PBXBuildFile; fileRef = A4A934E8212F3ADB001E9388 /* Dropbox.m */; };
|
||||
C6245F5D2053091D0040BE68 /* image-resize@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6245F5B2053091D0040BE68 /* image-resize@2x.png */; };
|
||||
@@ -206,7 +206,7 @@
|
||||
files = (
|
||||
0BB9AD791F5EC6D7001C08DB /* Intents.framework in Frameworks */,
|
||||
0BB9AD771F5EC6CE001C08DB /* CallKit.framework in Frameworks */,
|
||||
6F08DF7D4458EE3CF3F36F6D /* (null) in Frameworks */,
|
||||
6F08DF7D4458EE3CF3F36F6D /* BuildFile in Frameworks */,
|
||||
3453F4A32680898C4A40E821 /* libPods-JitsiMeetSDK.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -788,7 +788,6 @@
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_BITCODE = YES;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
@@ -851,7 +850,6 @@
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_BITCODE = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
@@ -888,7 +886,6 @@
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = NO;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
@@ -918,7 +915,6 @@
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
INFOPLIST_FILE = src/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
@@ -947,7 +943,6 @@
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = NO;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
@@ -982,7 +977,6 @@
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = YES;
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
|
||||
@@ -57,6 +57,9 @@
|
||||
openURL:(NSURL *_Nonnull)url
|
||||
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *_Nonnull)options;
|
||||
|
||||
- (UIInterfaceOrientationMask)application:(UIApplication *)application
|
||||
supportedInterfaceOrientationsForWindow:(UIWindow *)window;
|
||||
|
||||
#pragma mark - Utility methods
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#import <Intents/Intents.h>
|
||||
#import <WebRTC/RTCLogging.h>
|
||||
#import "Orientation.h"
|
||||
|
||||
#import "JitsiMeet+Private.h"
|
||||
#import "JitsiMeetConferenceOptions+Private.h"
|
||||
@@ -127,6 +128,10 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
|
||||
return [Orientation getOrientation];
|
||||
}
|
||||
|
||||
#pragma mark - Utility methods
|
||||
|
||||
- (void)instantiateReactNativeBridge {
|
||||
|
||||
@@ -99,6 +99,7 @@
|
||||
for (id listener in self.listeners) {
|
||||
[listener performStartCallWithUUID:action.callUUID isVideo:action.isVideo];
|
||||
}
|
||||
[action fulfill];
|
||||
}
|
||||
|
||||
- (void)provider:(CXProvider *)provider didActivateAudioSession:(AVAudioSession *)audioSession {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "",
|
||||
"az": "Azerbeidjans",
|
||||
"bg": "Bulgaars",
|
||||
"cs": "Tsjeggies",
|
||||
"de": "Duits",
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
"sk": "السلوفاكية",
|
||||
"sl": "السلوفينية",
|
||||
"sv": "السويدية",
|
||||
"th": "التايلندية",
|
||||
"tr": "التركية",
|
||||
"uk": "الأوكرانية",
|
||||
"vi": "الفيتنامية",
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"sr": "Serbi",
|
||||
"sv": "Suec",
|
||||
"te": "Telugu",
|
||||
"th": "tailandès",
|
||||
"tr": "Turc",
|
||||
"uk": "Ucraïnès",
|
||||
"vi": "Vietnamita",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"af": "Afrikánština",
|
||||
"ar": "Arabština",
|
||||
"az": "Ázerbájdžánština",
|
||||
"bg": "Bulharština",
|
||||
"ca": "Katalánština",
|
||||
"cs": "Čeština",
|
||||
@@ -41,7 +40,6 @@
|
||||
"sl": "Slovinština",
|
||||
"sr": "Srbština",
|
||||
"sv": "Švédština",
|
||||
"th": "Thajština",
|
||||
"tr": "Turečtina",
|
||||
"uk": "Ukrajinština",
|
||||
"vi": "Vietnamština",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikaans",
|
||||
"az": "Aserbaidschanisch",
|
||||
"bg": "Bulgarisch",
|
||||
"ca": "Katalanisch",
|
||||
"cs": "Tschechisch",
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
"sc": "Σαρδηνικά",
|
||||
"sk": "Σλοβακικά",
|
||||
"sv": "Σουηδικά",
|
||||
"th": "Ταϊλανδικά",
|
||||
"tr": "Τουρκικά",
|
||||
"uk": "Ουκρανικά",
|
||||
"vi": "Βιετναμέζικα",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikaans",
|
||||
"az": "",
|
||||
"bg": "Bulgarian",
|
||||
"ca": "Catalan",
|
||||
"cs": "Czech",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikansa",
|
||||
"az": "Azera",
|
||||
"bg": "Bulgara",
|
||||
"cs": "Ĉeĥa",
|
||||
"de": "Germana",
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
"sl": "اسلوونیایی",
|
||||
"sr": "صربی",
|
||||
"sv": "سوئدی",
|
||||
"th": "تایلندی",
|
||||
"tr": "ترکی",
|
||||
"uk": "اوکراینی",
|
||||
"vi": "ویتنامی",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "afrikaans",
|
||||
"az": "",
|
||||
"bg": "bulgaria",
|
||||
"ca": "katalaani",
|
||||
"cs": "tšekki",
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
"sl": "Esloveno",
|
||||
"sr": "Serbio",
|
||||
"sv": "Sueco",
|
||||
"th": "Tailandés",
|
||||
"tr": "Turco",
|
||||
"uk": "Ucraíno",
|
||||
"vi": "Vietnamita",
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
"sl": "Slovenian",
|
||||
"sr": "Serbian",
|
||||
"sv": "Swedish",
|
||||
"th": "Thailand",
|
||||
"tr": "Turkish",
|
||||
"uk": "Ukrainian",
|
||||
"vi": "Vietnamese",
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
"sr": "Srpski",
|
||||
"sv": "Švedski",
|
||||
"te": "Teluški",
|
||||
"th": "Tajski",
|
||||
"tr": "Turski",
|
||||
"uk": "Ukrajinski",
|
||||
"vi": "Vijetnamski",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "",
|
||||
"az": "",
|
||||
"bg": "Բուլղարերեն",
|
||||
"cs": "",
|
||||
"de": "Գերմաներեն ",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikaans",
|
||||
"az": "Azero",
|
||||
"bg": "Bulgaro",
|
||||
"ca": "Catalano",
|
||||
"cs": "Ceco",
|
||||
@@ -41,7 +40,6 @@
|
||||
"sl": "Sloveno",
|
||||
"sr": "Serbo",
|
||||
"sv": "Svedese",
|
||||
"th": "Tailandese",
|
||||
"tr": "Turco",
|
||||
"uk": "Ucraino",
|
||||
"vi": "Vietnamita",
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"sr": "セルビア語",
|
||||
"sv": "スウェーデン語",
|
||||
"te": "テルグ語",
|
||||
"th": "タイ語",
|
||||
"tr": "トルコ語",
|
||||
"uk": "ウクライナ語",
|
||||
"vi": "ベトナム語",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"af": "Tafrikant",
|
||||
"ar": "Taɛrabt",
|
||||
"az": "Tazirit",
|
||||
"bg": "Tabulgarit",
|
||||
"ca": "Takaṭalant",
|
||||
"cs": "Taččikit",
|
||||
@@ -48,7 +47,6 @@
|
||||
"sr": "Taserbit",
|
||||
"sv": "Taswidit",
|
||||
"te": "Tatelugut",
|
||||
"th": "Tayland",
|
||||
"tr": "Taṭurkit",
|
||||
"uk": "Tukranit",
|
||||
"vi": "Tavyitnamit",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"af": "아프리칸스어",
|
||||
"ar": "아랍어",
|
||||
"az": "아제르바이잔어",
|
||||
"bg": "불가리어",
|
||||
"ca": "카탈루냐어",
|
||||
"cs": "체코어",
|
||||
@@ -43,7 +42,6 @@
|
||||
"sl": "슬로베니아어",
|
||||
"sr": "세르비아어",
|
||||
"sv": "스웨덴어",
|
||||
"th": "태국어",
|
||||
"tr": "터키어",
|
||||
"uk": "우크라이나어",
|
||||
"vi": "베트남어",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikaans",
|
||||
"az": "",
|
||||
"bg": "Bulgarian",
|
||||
"ca": "Catalan",
|
||||
"cs": "Czech",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "",
|
||||
"az": "",
|
||||
"bg": "",
|
||||
"cs": "Tsjekkisk",
|
||||
"da": "Dansk",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikaans",
|
||||
"az": "Azerbeidzjaans",
|
||||
"bg": "Bulgaars",
|
||||
"ca": "Catalaans",
|
||||
"cs": "Tsjechisch",
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"sr": "Sèrbe",
|
||||
"sv": "Suedés",
|
||||
"te": "Telugu",
|
||||
"th": "Tai",
|
||||
"tr": "Turc",
|
||||
"uk": "Ucraïnian",
|
||||
"vi": "Vietnamian",
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"sr": "serbski",
|
||||
"sv": "szwedzki",
|
||||
"te": "telugu",
|
||||
"th": "tajski",
|
||||
"tr": "turecki",
|
||||
"uk": "ukraiński",
|
||||
"vi": "wietnamski",
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"sr": "Sérvio",
|
||||
"sv": "Sueco",
|
||||
"te": "Telugu",
|
||||
"th": "Tailandês",
|
||||
"tr": "Turco",
|
||||
"uk": "Ucraniano",
|
||||
"vi": "Vietnamita",
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
"sk": "Slovacă",
|
||||
"sl": "Slovenă",
|
||||
"sv": "Suedeză",
|
||||
"th": "Thailandeză",
|
||||
"tr": "Turcă",
|
||||
"uk": "Ucraineană",
|
||||
"vi": "Vietnameză",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikanščina",
|
||||
"az": "Azerbajdanščina",
|
||||
"bg": "Bolgarščina",
|
||||
"cs": "Češčina",
|
||||
"de": "Nemščina",
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"sr": "Serbisht",
|
||||
"sv": "Suedisht",
|
||||
"te": "Telugu",
|
||||
"th": "Tajlandisht",
|
||||
"tr": "Turqisht",
|
||||
"uk": "Ukrainisht",
|
||||
"vi": "Vietnamisht",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Африкански",
|
||||
"az": "Азербејџански",
|
||||
"bg": "Бугарски",
|
||||
"ca": "Каталонски",
|
||||
"cs": "Чешки",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikaans",
|
||||
"az": "",
|
||||
"bg": "Bulgariska",
|
||||
"ca": "Katalanska",
|
||||
"cs": "Tjeckiska",
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
"sr": "సెర్బియన్",
|
||||
"sv": "స్వీడిష్",
|
||||
"te": "తెలుగు",
|
||||
"th": "థాయిలాండ్",
|
||||
"tr": "టర్కిష్",
|
||||
"uk": "ఉక్రేనియన్",
|
||||
"vi": "వియెత్నామీ",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Afrikanca",
|
||||
"az": "",
|
||||
"bg": "Bulgarca",
|
||||
"ca": "Katalanca",
|
||||
"cs": "Çekçe",
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
"sr": "Сербська",
|
||||
"sv": "Шведська",
|
||||
"te": "Телуґу",
|
||||
"th": "Тайська",
|
||||
"tr": "Турецька",
|
||||
"uk": "Українська",
|
||||
"vi": "В'єтнамська",
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"af": "Tiếng Afrika",
|
||||
"az": "Tiếng Azecbaizan",
|
||||
"bg": "Tiếng Bulgaria",
|
||||
"cs": "Tiếng Séc",
|
||||
"de": "Tiếng Đức",
|
||||
|
||||
@@ -14,34 +14,42 @@
|
||||
"esUS": "西班牙语(拉丁美洲)",
|
||||
"et": "爱沙尼亚语",
|
||||
"eu": "巴斯克语",
|
||||
"fa": "波斯语",
|
||||
"fi": "芬兰语",
|
||||
"fr": "法语",
|
||||
"frCA": "法语(加拿大)",
|
||||
"he": "希伯来语",
|
||||
"hi": "印地语",
|
||||
"hr": "克罗地亚语",
|
||||
"hsb": "上索布语",
|
||||
"hu": "匈牙利语",
|
||||
"hy": "亚美尼亚语",
|
||||
"id": "印度尼西亚语",
|
||||
"it": "意大利语",
|
||||
"ja": "日语",
|
||||
"kab": "卡比尔语",
|
||||
"kab": "卡拜尔语",
|
||||
"ko": "韩语",
|
||||
"lt": "立陶宛语",
|
||||
"lv": "拉脱维亚语",
|
||||
"ml": "马拉雅拉姆语",
|
||||
"mr": "马拉地语",
|
||||
"nl": "荷兰语",
|
||||
"oc": "欧西坦语",
|
||||
"pl": "波兰语",
|
||||
"pt": "葡萄牙语",
|
||||
"ptBR": "葡萄牙语(巴西)",
|
||||
"ro": "罗马尼亚语",
|
||||
"ru": "俄语",
|
||||
"sc": "撒丁岛语",
|
||||
"sc": "撒丁语",
|
||||
"sk": "斯洛伐克语",
|
||||
"sl": "斯洛文尼亚语",
|
||||
"sq": "阿尔巴尼亚语",
|
||||
"sr": "塞尔维亚语",
|
||||
"sv": "瑞典语",
|
||||
"th": "泰语",
|
||||
"te": "泰卢固语",
|
||||
"tr": "土耳其语",
|
||||
"uk": "乌克兰语",
|
||||
"vi": "越南语",
|
||||
"zhCN": "中文(中国)",
|
||||
"zhTW": "中文(台湾)"
|
||||
"zhCN": "简体中文(中国)",
|
||||
"zhTW": "正体中文(台湾)"
|
||||
}
|
||||
|
||||
@@ -8,48 +8,48 @@
|
||||
"de": "德文",
|
||||
"el": "希臘文",
|
||||
"en": "英文",
|
||||
"enGB": "英文 (英國)",
|
||||
"enGB": "英文(英國)",
|
||||
"eo": "世界語",
|
||||
"es": "西班牙文",
|
||||
"esUS": "西班牙文 (拉丁美洲)",
|
||||
"esUS": "西班牙文(拉丁美洲)",
|
||||
"et": "愛沙尼亞文",
|
||||
"eu": "巴斯克語",
|
||||
"fa": "波斯語",
|
||||
"eu": "巴斯克文",
|
||||
"fa": "波斯文",
|
||||
"fi": "芬蘭文",
|
||||
"fr": "法文",
|
||||
"frCA": "法文 (加拿大)",
|
||||
"he": "希伯來語",
|
||||
"hi": "印地語",
|
||||
"frCA": "法文(加拿大)",
|
||||
"he": "希伯來文",
|
||||
"hi": "印度文",
|
||||
"hr": "克羅埃西亞文",
|
||||
"hsb": "上索布文",
|
||||
"hu": "匈牙利文",
|
||||
"hy": "亞美尼亞文",
|
||||
"id": "印尼語",
|
||||
"id": "印尼文",
|
||||
"it": "義大利文",
|
||||
"ja": "日語",
|
||||
"kab": "卡拜爾語",
|
||||
"ja": "日文",
|
||||
"kab": "卡拜爾文",
|
||||
"ko": "韓文",
|
||||
"lt": "立陶宛語",
|
||||
"lv": "拉脫維亞語",
|
||||
"ml": "馬拉雅拉姆語",
|
||||
"mr": "馬拉提語",
|
||||
"lt": "立陶宛文",
|
||||
"lv": "拉脫維亞文",
|
||||
"ml": "馬來亞拉姆文",
|
||||
"mr": "馬拉提文",
|
||||
"nl": "荷蘭文",
|
||||
"oc": "奧西坦文",
|
||||
"oc": "奧克西坦文",
|
||||
"pl": "波蘭文",
|
||||
"pt": "葡萄牙語",
|
||||
"ptBR": "葡萄牙文 (巴西)",
|
||||
"ro": "羅馬尼亞語",
|
||||
"pt": "葡萄牙文",
|
||||
"ptBR": "葡萄牙文(巴西)",
|
||||
"ro": "羅馬尼亞文",
|
||||
"ru": "俄文",
|
||||
"sc": "薩丁尼亞語",
|
||||
"sk": "斯洛伐克語",
|
||||
"sl": "斯洛維尼亞語",
|
||||
"sq": "阿羅馬尼亞語",
|
||||
"sr": "塞爾維亞語",
|
||||
"sc": "薩丁尼亞文",
|
||||
"sk": "斯洛伐克文",
|
||||
"sl": "斯洛維尼亞文",
|
||||
"sq": "阿爾巴尼亞文",
|
||||
"sr": "塞爾維亞文",
|
||||
"sv": "瑞典文",
|
||||
"te": "泰盧固語",
|
||||
"th": "泰語",
|
||||
"te": "特拉古文",
|
||||
"tr": "土耳其文",
|
||||
"uk": "烏克蘭語",
|
||||
"uk": "烏克蘭文",
|
||||
"vi": "越南文",
|
||||
"zhCN": "中文 (中国,简体)",
|
||||
"zhTW": "中文 (台灣,正體)"
|
||||
"zhCN": "簡體中文(中國)",
|
||||
"zhTW": "正體中文(台灣)"
|
||||
}
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
"sr": "Serbian",
|
||||
"sv": "Swedish",
|
||||
"te": "Telugu",
|
||||
"th": "Thai",
|
||||
"tr": "Turkish",
|
||||
"uk": "Ukrainian",
|
||||
"vi": "Vietnamese",
|
||||
|
||||
@@ -967,7 +967,6 @@
|
||||
"playSounds": "تشغيل الصوت عند:",
|
||||
"reactions": "ردود فعل المُلتقى",
|
||||
"sameAsSystem": "مثل النظام ({{label}})",
|
||||
"screenTitle": "إعدادات",
|
||||
"selectAudioOutput": "خرج الصوت",
|
||||
"selectCamera": "الكاميرا",
|
||||
"selectMic": "المايكروفون",
|
||||
@@ -1353,6 +1352,7 @@
|
||||
"roomname": "أدخل اسم الغرفة",
|
||||
"roomnameHint": "أدخل اسم أو رابط الغرفة التي تريد الانضمام إليها. يمكنك إنشاء اسم جديد لترسله إلى من تريد أن تجتمع معهم.",
|
||||
"sendFeedback": "أبدِ رأيك",
|
||||
"settings": "إعدادات",
|
||||
"startMeeting": "إبدأ المُلتقى",
|
||||
"terms": "الشروط",
|
||||
"title": "منصة عقد مؤتمرات ومُلتقيات آمنة وكاملة المزايا ومجانية بالمطلق"
|
||||
|
||||
@@ -477,9 +477,11 @@
|
||||
"noRoom": "Keine Konferenz für die Einwahlinformationen angegeben.",
|
||||
"numbers": "Einwahlnummern",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"reachedLimit": "Sie haben die Grenzen Ihres Tarifs erreicht.",
|
||||
"sip": "SIP-Adresse",
|
||||
"title": "Teilen",
|
||||
"tooltip": "Freigabe-Link und Einwahlinformationen für dieses Meeting"
|
||||
"tooltip": "Freigabe-Link und Einwahlinformationen für dieses Meeting",
|
||||
"upgradeOptions": "Bitte prüfen Sie Ihre Upgrade-Optionen auf"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Es ist ein Fehler aufgetreten.",
|
||||
@@ -938,6 +940,7 @@
|
||||
"insecureRoomNameWarning": "Der Raumname ist unsicher. Unerwünschte Teilnehmer könnten Ihrer Konferenz beitreten"
|
||||
},
|
||||
"settings": {
|
||||
"buttonLabel": "Einstellungen",
|
||||
"calendar": {
|
||||
"about": "Die Kalenderintegration von {{appName}} wird verwendet, um ein sicheres Zugreifen auf Ihren Kalender und Auslesen der bevorstehenden Termine zu ermöglichen.",
|
||||
"disconnect": "Getrennt",
|
||||
@@ -966,7 +969,6 @@
|
||||
"playSounds": "Hinweistöne aktiviert",
|
||||
"reactions": "Interaktionen",
|
||||
"sameAsSystem": "Wie System ({{label}})",
|
||||
"screenTitle": "Einstellungen",
|
||||
"selectAudioOutput": "Audioausgabe",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofon",
|
||||
@@ -1352,6 +1354,7 @@
|
||||
"roomname": "Konferenzname eingeben",
|
||||
"roomnameHint": "Name oder URL der Konferenz, der Sie beitreten möchten. Sie können einen Namen erfinden, er muss nur den anderen Personen übermittelt werden, damit diese der gleichen Konferenz beitreten.",
|
||||
"sendFeedback": "Feedback senden",
|
||||
"settings": "Einstellungen",
|
||||
"startMeeting": "Meeting starten",
|
||||
"terms": "AGB",
|
||||
"title": "Sichere, voll funktionale und komplett kostenlose Videokonferenzen"
|
||||
|
||||
@@ -965,7 +965,6 @@
|
||||
"playSounds": "Sviranje zvuka uključeno",
|
||||
"reactions": "Reakcije sastanka",
|
||||
"sameAsSystem": "Isto kao sustav ({{label}})",
|
||||
"screenTitle": "Postavke",
|
||||
"selectAudioOutput": "Audio razultat",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofon",
|
||||
@@ -1340,6 +1339,7 @@
|
||||
"roomname": "Upiši ime sobe",
|
||||
"roomnameHint": "Upiši ime ili URL sobe kojoj se želiš pridružiti. Možeš izmisliti ime, ali obavijesti ljude s kojima se sastaješ da upišu isto ime.",
|
||||
"sendFeedback": "Pošalji povratnu informaciju",
|
||||
"settings": "Postavke",
|
||||
"startMeeting": "Započni sastanak",
|
||||
"terms": "Uvjeti",
|
||||
"title": "Sigurno, funkcionalno i potpuno slobodno održavanje videokonferencija"
|
||||
|
||||
@@ -963,7 +963,6 @@
|
||||
"playSounds": "Włącz dźwięki",
|
||||
"reactions": "Reakcje",
|
||||
"sameAsSystem": "Jak system ({{label}})",
|
||||
"screenTitle": "Ustawienia",
|
||||
"selectAudioOutput": "Wyjście audio",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofon",
|
||||
@@ -1343,6 +1342,7 @@
|
||||
"roomname": "Podaj nazwę sali konferencyjnej",
|
||||
"roomnameHint": "Wprowadź nazwę lub adres URL pokoju, do którego chcesz dołączyć. Możesz wymyślić nazwę, po prostu pozwól, aby osoby, z którymi się spotykasz, znały ją tak, aby wpisały tę samą nazwę.",
|
||||
"sendFeedback": "Wyślij opinię",
|
||||
"settings": "Ustawienia",
|
||||
"startMeeting": "Rozpocznij spotkanie",
|
||||
"terms": "Warunki korzystania",
|
||||
"title": "Bezpieczna, w pełni funkcjonalna i całkowicie bezpłatna wideokonferencja"
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
"cameraNotSendingData": "Não podemos aceder à sua câmara. Verifique se outra aplicação está a utilizar este dispositivo, seleccione outro dispositivo do menu de definições ou tente recarregar a aplicação.",
|
||||
"cameraNotSendingDataTitle": "Não é possível aceder à câmara",
|
||||
"cameraPermissionDeniedError": "Não concedeu autorização para utilizar a sua câmara. Ainda pode participar na conferência, mas outros não o verão. Use o botão da câmara na barra de endereço para corrigir isto.",
|
||||
"cameraTimeoutError": "Não foi possível iniciar a fonte de vídeo. Tempo limite esgotado!",
|
||||
"cameraTimeoutError": "Não foi possível iniciar a fonte de vídeo. Tempo limite expirado!",
|
||||
"cameraUnknownError": "Não é possível utilizar a câmara por uma razão desconhecida.",
|
||||
"cameraUnsupportedResolutionError": "A sua câmara não suporta a resolução de vídeo necessária.",
|
||||
"close": "Fechar",
|
||||
@@ -298,7 +298,7 @@
|
||||
"micNotSendingData": "Vá às definições do seu computador para desligar o seu microfone e ajustar o seu nível",
|
||||
"micNotSendingDataTitle": "O seu microfone está silenciado pelas definições do seu sistema",
|
||||
"micPermissionDeniedError": "Não concedeu autorização para utilizar o seu microfone. Ainda pode participar na conferência, mas outros não o ouvirão. Use o botão da câmara na barra de endereço para corrigir isto.",
|
||||
"micTimeoutError": "Não foi possível iniciar a fonte de áudio. Tempo limite esgotado!",
|
||||
"micTimeoutError": "Não foi possível iniciar a fonte de áudio. Tempo limite expirado!",
|
||||
"micUnknownError": "Não pode usar microfone por uma razão desconhecida.",
|
||||
"moderationAudioLabel": "Permitir aos participantes reativar o som",
|
||||
"moderationVideoLabel": "Permitir aos participantes reativar o vídeo",
|
||||
@@ -965,9 +965,8 @@
|
||||
"participantKnocking": "Entrar um participante na sala de espera",
|
||||
"participantLeft": "Sair um participante",
|
||||
"playSounds": "Reproduzir som quando",
|
||||
"reactions": "Expressarem uma reação",
|
||||
"reactions": "Há uma reação na reunião",
|
||||
"sameAsSystem": "O mesmo que o sistema ({{label}})",
|
||||
"screenTitle": "Definições",
|
||||
"selectAudioOutput": "Saída de áudio",
|
||||
"selectCamera": "Câmara",
|
||||
"selectMic": "Microfone",
|
||||
@@ -1193,7 +1192,7 @@
|
||||
"silence": "Silêncio",
|
||||
"speakerStats": "Estatísticas dos participantes",
|
||||
"startScreenSharing": "Iniciar partilha de ecrã",
|
||||
"startSubtitles": "Iniciar legendas",
|
||||
"startSubtitles": "Legendas • {{language}}",
|
||||
"stopAudioSharing": "Parar partilha de áudio",
|
||||
"stopScreenSharing": "Parar partilha de ecrã",
|
||||
"stopSharedVideo": "Parar vídeo",
|
||||
@@ -1216,6 +1215,8 @@
|
||||
"pending": "Preparando a transcrição da reunião...",
|
||||
"start": "Exibir legendas",
|
||||
"stop": "Não exibir legendas",
|
||||
"subtitles": "Legendas",
|
||||
"subtitlesOff": "Desligado",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
@@ -1351,6 +1352,7 @@
|
||||
"roomname": "Digite o nome da sala",
|
||||
"roomnameHint": "Digite o nome ou URL da sala a que pretende entrar. Pode inventar um nome, basta informar as pessoas com quem se vai encontrar para que entrem com o mesmo nome.",
|
||||
"sendFeedback": "Enviar comentários",
|
||||
"settings": "Definições",
|
||||
"startMeeting": "Iniciar reunião",
|
||||
"terms": "Termos",
|
||||
"title": "Videoconferências mais seguras, flexíveis e totalmente gratuitas"
|
||||
|
||||
@@ -967,7 +967,6 @@
|
||||
"playSounds": "Увімкнути звукові сповіщення:",
|
||||
"reactions": "Емоційна реакція",
|
||||
"sameAsSystem": "Системний пристрій ({{label}})",
|
||||
"screenTitle": "Налаштування",
|
||||
"selectAudioOutput": "Вивід звуку",
|
||||
"selectCamera": "Камера",
|
||||
"selectMic": "Мікрофон",
|
||||
@@ -1353,6 +1352,7 @@
|
||||
"roomname": "Зазначте назву кімнати",
|
||||
"roomnameHint": "Зазначте назву кімнати або URL-адресу зустрічі, до якої ви хочете приєднатися. Ви можете придумати будь-яку назву. Повідомте її іншим учасникам, щоб вони приєднувалися до цієї кімнати.",
|
||||
"sendFeedback": "Надіслати відгук",
|
||||
"settings": "Налаштування",
|
||||
"startMeeting": "Почати зустріч",
|
||||
"terms": "Умови користування",
|
||||
"title": "Захищена, повнофункціональна та безкоштовна система відеоконференцій"
|
||||
|
||||
1497
lang/main-zhCN.json
1497
lang/main-zhCN.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -82,7 +82,7 @@
|
||||
},
|
||||
"labels": {
|
||||
"buttonLabel": "Car mode",
|
||||
"title": "Safe driving mode",
|
||||
"title": "Car mode",
|
||||
"videoStopped": "Your video is stopped"
|
||||
}
|
||||
},
|
||||
@@ -270,6 +270,7 @@
|
||||
"gracefulShutdown": "Our service is currently down for maintenance. Please try again later.",
|
||||
"grantModeratorDialog": "Are you sure you want to grant moderator rights to {{participantName}}?",
|
||||
"grantModeratorTitle": "Grant moderator rights",
|
||||
"hide": "Hide",
|
||||
"hideShareAudioHelper": "Don't show this dialog again",
|
||||
"incorrectPassword": "Incorrect username or password",
|
||||
"incorrectRoomLockPassword": "Incorrect password",
|
||||
@@ -387,6 +388,7 @@
|
||||
"shareYourScreenDisabled": "Screen sharing disabled.",
|
||||
"sharedVideoDialogError": "Error: Invalid URL",
|
||||
"sharedVideoLinkPlaceholder": "YouTube link or direct video link",
|
||||
"show": "Show",
|
||||
"start": "Start ",
|
||||
"startLiveStreaming": "Start live stream",
|
||||
"startRecording": "Start recording",
|
||||
@@ -435,7 +437,7 @@
|
||||
"search": "Search GIPHY"
|
||||
},
|
||||
"helpView": {
|
||||
"header": "Help center"
|
||||
"title": "Help center"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Answer",
|
||||
@@ -477,9 +479,11 @@
|
||||
"noRoom": "No room was specified to dial-in into.",
|
||||
"numbers": "Dial-in Numbers",
|
||||
"password": "$t(lockRoomPasswordUppercase): ",
|
||||
"reachedLimit": "You have reached the limit of your plan.",
|
||||
"sip": "SIP address",
|
||||
"title": "Share",
|
||||
"tooltip": "Share link and dial-in info for this meeting"
|
||||
"tooltip": "Share link and dial-in info for this meeting",
|
||||
"upgradeOptions": "Please check the upgrade options on"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "We stumbled a bit.",
|
||||
@@ -551,6 +555,7 @@
|
||||
"signedInAs": "You are currently signed in as:",
|
||||
"start": "Start a live stream",
|
||||
"streamIdHelp": "What's this?",
|
||||
"title": "Live stream",
|
||||
"unavailableTitle": "Live Streaming unavailable",
|
||||
"youtubeTerms": "YouTube terms of services"
|
||||
},
|
||||
@@ -593,6 +598,7 @@
|
||||
"passwordJoinButton": "Join",
|
||||
"reject": "Reject",
|
||||
"rejectAll": "Reject all",
|
||||
"title": "Lobby",
|
||||
"toggleLabel": "Enable lobby"
|
||||
},
|
||||
"localRecording": {
|
||||
@@ -619,6 +625,7 @@
|
||||
"no": "No",
|
||||
"participant": "Participant",
|
||||
"participantStats": "Participant Stats",
|
||||
"selectTabTitle": "🎥 Please select this tab for recording",
|
||||
"sessionToken": "Session Token",
|
||||
"start": "Start Recording",
|
||||
"stop": "Stop Recording",
|
||||
@@ -735,13 +742,13 @@
|
||||
"videoModeration": "Start their video"
|
||||
},
|
||||
"close": "Close",
|
||||
"header": "Participants",
|
||||
"headings": {
|
||||
"lobby": "Lobby ({{count}})",
|
||||
"participantsList": "Meeting participants ({{count}})",
|
||||
"waitingLobby": "Waiting in lobby ({{count}})"
|
||||
},
|
||||
"search": "Search participants"
|
||||
"search": "Search participants",
|
||||
"title": "Participants"
|
||||
},
|
||||
"passwordDigitsOnly": "Up to {{number}} digits",
|
||||
"passwordSetRemotely": "Set by another participant",
|
||||
@@ -851,7 +858,7 @@
|
||||
"ringing": "Ringing..."
|
||||
},
|
||||
"privacyView": {
|
||||
"header": "Privacy"
|
||||
"title": "Privacy"
|
||||
},
|
||||
"profile": {
|
||||
"avatar": "avatar",
|
||||
@@ -923,6 +930,7 @@
|
||||
"signIn": "Sign in",
|
||||
"signOut": "Sign out",
|
||||
"surfaceError": "Please select the current tab.",
|
||||
"title": "Recording",
|
||||
"unavailable": "Oops! The {{serviceName}} is currently unavailable. We're working on resolving the issue. Please try again later.",
|
||||
"unavailableTitle": "Recording unavailable",
|
||||
"uploadToCloud": "Upload to the cloud"
|
||||
@@ -934,8 +942,8 @@
|
||||
"security": {
|
||||
"about": "You can add a $t(lockRoomPassword) to your meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
|
||||
"aboutReadOnly": "Moderator participants can add a $t(lockRoomPassword) to the meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
|
||||
"header": "Security Options",
|
||||
"insecureRoomNameWarning": "The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button."
|
||||
"insecureRoomNameWarning": "The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button.",
|
||||
"title": "Security Options"
|
||||
},
|
||||
"settings": {
|
||||
"buttonLabel": "Settings",
|
||||
@@ -967,7 +975,6 @@
|
||||
"playSounds": "Play sound on",
|
||||
"reactions": "Meeting reactions",
|
||||
"sameAsSystem": "Same as system ({{label}})",
|
||||
"screenTitle": "Settings",
|
||||
"selectAudioOutput": "Audio output",
|
||||
"selectCamera": "Camera",
|
||||
"selectMic": "Microphone",
|
||||
@@ -1041,7 +1048,7 @@
|
||||
"title": "Your video call was interrupted because this computer went to sleep."
|
||||
},
|
||||
"termsView": {
|
||||
"header": "Terms"
|
||||
"title": "Terms"
|
||||
},
|
||||
"toggleTopPanelLabel": "Toggle top panel",
|
||||
"toolbar": {
|
||||
@@ -1114,7 +1121,8 @@
|
||||
"toggleFilmstrip": "Toggle filmstrip",
|
||||
"undock": "Undock into separate window",
|
||||
"videoblur": "Toggle video blur",
|
||||
"videomute": "Start / Stop camera"
|
||||
"videomute": "Start / Stop camera",
|
||||
"whiteboard": "Show / Hide whiteboard"
|
||||
},
|
||||
"addPeople": "Add people to your call",
|
||||
"audioOnlyOff": "Disable low bandwidth mode",
|
||||
@@ -1145,6 +1153,7 @@
|
||||
"giphy": "Toggle GIPHY menu",
|
||||
"hangup": "Leave the meeting",
|
||||
"help": "Help",
|
||||
"hideWhiteboard": "Hide whiteboard",
|
||||
"invite": "Invite people",
|
||||
"joinBreakoutRoom": "Join breakout room",
|
||||
"laugh": "Laugh",
|
||||
@@ -1190,6 +1199,7 @@
|
||||
"shareaudio": "Share audio",
|
||||
"sharedvideo": "Share video",
|
||||
"shortcuts": "View shortcuts",
|
||||
"showWhiteboard": "Show whiteboard",
|
||||
"silence": "Silence",
|
||||
"speakerStats": "Speaker stats",
|
||||
"startScreenSharing": "Start screen sharing",
|
||||
@@ -1353,6 +1363,7 @@
|
||||
"roomname": "Enter room name",
|
||||
"roomnameHint": "Enter the name or URL of the room you want to join. You may make a name up, just let the people you are meeting know it so that they enter the same name.",
|
||||
"sendFeedback": "Send feedback",
|
||||
"settings": "Settings",
|
||||
"startMeeting": "Start meeting",
|
||||
"terms": "Terms",
|
||||
"title": "Secure, fully featured, and completely free video conferencing"
|
||||
|
||||
111
lang/translation-languages.json
Normal file
111
lang/translation-languages.json
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"af": "Afrikaans",
|
||||
"am": "Amharic",
|
||||
"ar": "Arabic",
|
||||
"az": "Azerbaijani",
|
||||
"be": "Belarusian",
|
||||
"bg": "Bulgarian",
|
||||
"bn": "Bengali",
|
||||
"bs": "Bosnian",
|
||||
"ca": "Catalan",
|
||||
"ceb": "Cebuano",
|
||||
"co": "Corsican",
|
||||
"cs": "Czech",
|
||||
"cy": "Welsh",
|
||||
"da": "Danish",
|
||||
"de": "German",
|
||||
"el": "Greek",
|
||||
"en": "English",
|
||||
"eo": "Esperanto",
|
||||
"es": "Spanish",
|
||||
"et": "Estonian",
|
||||
"eu": "Basque",
|
||||
"fa": "Persian",
|
||||
"fi": "Finnish",
|
||||
"fr": "French",
|
||||
"fy": "Frisian",
|
||||
"ga": "Irish",
|
||||
"gd": "Scots Gaelic",
|
||||
"gl": "Galician",
|
||||
"gu": "Gujarati",
|
||||
"ha": "Hausa",
|
||||
"haw": "Hawaiian",
|
||||
"he": "Hebrew",
|
||||
"hi": "Hindi",
|
||||
"hmn": "Hmong",
|
||||
"hr": "Croatian",
|
||||
"ht": "Haitian Creole",
|
||||
"hu": "Hungarian",
|
||||
"hy": "Armenian",
|
||||
"id": "Indonesian",
|
||||
"ig": "Igbo",
|
||||
"is": "Icelandic",
|
||||
"it": "Italian",
|
||||
"ja": "Japanese",
|
||||
"jv": "Javanese",
|
||||
"ka": "Georgian",
|
||||
"kk": "Kazakh",
|
||||
"km": "Khmer",
|
||||
"kn": "Kannada",
|
||||
"ko": "Korean",
|
||||
"ku": "Kurdish",
|
||||
"ky": "Kyrgyz",
|
||||
"la": "Latin",
|
||||
"lb": "Luxembourgish",
|
||||
"lo": "Lao",
|
||||
"lt": "Lithuanian",
|
||||
"lv": "Latvian",
|
||||
"mg": "Malagasy",
|
||||
"mi": "Maori",
|
||||
"mk": "Macedonian",
|
||||
"ml": "Malayalam",
|
||||
"mn": "Mongolian",
|
||||
"mr": "Marathi",
|
||||
"ms": "Malay",
|
||||
"mt": "Maltese",
|
||||
"my": "Myanmar (Burmese)",
|
||||
"ne": "Nepali",
|
||||
"nl": "Dutch",
|
||||
"no": "Norwegian",
|
||||
"ny": "Nyanja (Chichewa)",
|
||||
"or": "Odia (Oriya)",
|
||||
"pa": "Punjabi",
|
||||
"pl": "Polish",
|
||||
"ps": "Pashto",
|
||||
"pt": "Portuguese (Portugal, Brazil)",
|
||||
"ro": "Romanian",
|
||||
"ru": "Russian",
|
||||
"rw": "Kinyarwanda",
|
||||
"sd": "Sindhi",
|
||||
"si": "Sinhala (Sinhalese)",
|
||||
"sk": "Slovak",
|
||||
"sl": "Slovenian",
|
||||
"sm": "Samoan",
|
||||
"sn": "Shona",
|
||||
"so": "Somali",
|
||||
"sq": "Albanian",
|
||||
"sr": "Serbian",
|
||||
"st": "Sesotho",
|
||||
"su": "Sundanese",
|
||||
"sv": "Swedish",
|
||||
"sw": "Swahili",
|
||||
"ta": "Tamil",
|
||||
"te": "Telugu",
|
||||
"tg": "Tajik",
|
||||
"th": "Thai",
|
||||
"tk": "Turkmen",
|
||||
"tl": "Tagalog (Filipino)",
|
||||
"tr": "Turkish",
|
||||
"tt": "Tatar",
|
||||
"ug": "Uyghur",
|
||||
"uk": "Ukrainian",
|
||||
"ur": "Urdu",
|
||||
"uz": "Uzbek",
|
||||
"vi": "Vietnamese",
|
||||
"xh": "Xhosa",
|
||||
"yi": "Yiddish",
|
||||
"yo": "Yoruba",
|
||||
"zh-CN": "Chinese (Simplified)",
|
||||
"zh-TW": "Chinese (Traditional)",
|
||||
"zu": "Zulu"
|
||||
}
|
||||
@@ -25,24 +25,24 @@ import {
|
||||
setPassword,
|
||||
setSubject
|
||||
} from '../../react/features/base/conference';
|
||||
import { overwriteConfig, getWhitelistedJSON } from '../../react/features/base/config';
|
||||
import { getWhitelistedJSON, overwriteConfig } from '../../react/features/base/config';
|
||||
import { toggleDialog } from '../../react/features/base/dialog/actions';
|
||||
import { isSupportedBrowser } from '../../react/features/base/environment';
|
||||
import { parseJWTFromURLParams } from '../../react/features/base/jwt';
|
||||
import JitsiMeetJS, { JitsiRecordingConstants } from '../../react/features/base/lib-jitsi-meet';
|
||||
import { MEDIA_TYPE } from '../../react/features/base/media';
|
||||
import {
|
||||
LOCAL_PARTICIPANT_DEFAULT_ID,
|
||||
getLocalParticipant,
|
||||
getParticipantById,
|
||||
pinParticipant,
|
||||
kickParticipant,
|
||||
raiseHand,
|
||||
isParticipantModerator,
|
||||
isLocalParticipantModerator,
|
||||
hasRaisedHand,
|
||||
grantModerator,
|
||||
hasRaisedHand,
|
||||
isLocalParticipantModerator,
|
||||
isParticipantModerator,
|
||||
kickParticipant,
|
||||
overwriteParticipantsNames,
|
||||
LOCAL_PARTICIPANT_DEFAULT_ID
|
||||
pinParticipant,
|
||||
raiseHand
|
||||
} from '../../react/features/base/participants';
|
||||
import { updateSettings } from '../../react/features/base/settings';
|
||||
import { getDisplayName } from '../../react/features/base/settings/functions.web';
|
||||
@@ -68,7 +68,8 @@ import {
|
||||
import { appendSuffix } from '../../react/features/display-name';
|
||||
import { isEnabled as isDropboxEnabled } from '../../react/features/dropbox';
|
||||
import { setMediaEncryptionKey, toggleE2EE } from '../../react/features/e2ee/actions';
|
||||
import { resizeFilmStrip, setVolume } from '../../react/features/filmstrip/actions.web';
|
||||
import { addStageParticipant, resizeFilmStrip, setVolume } from '../../react/features/filmstrip/actions.web';
|
||||
import { isStageFilmstripAvailable } from '../../react/features/filmstrip/functions.web';
|
||||
import { invite } from '../../react/features/invite';
|
||||
import {
|
||||
selectParticipantInLargeVideo
|
||||
@@ -77,12 +78,12 @@ import {
|
||||
captureLargeVideoScreenshot,
|
||||
resizeLargeVideo
|
||||
} from '../../react/features/large-video/actions.web';
|
||||
import { toggleLobbyMode, answerKnockingParticipant } from '../../react/features/lobby/actions';
|
||||
import { answerKnockingParticipant, toggleLobbyMode } from '../../react/features/lobby/actions';
|
||||
import { setNoiseSuppressionEnabled } from '../../react/features/noise-suppression/actions';
|
||||
import {
|
||||
hideNotification,
|
||||
NOTIFICATION_TIMEOUT_TYPE,
|
||||
NOTIFICATION_TYPE,
|
||||
hideNotification,
|
||||
showNotification
|
||||
} from '../../react/features/notifications';
|
||||
import {
|
||||
@@ -90,17 +91,18 @@ import {
|
||||
open as openParticipantsPane
|
||||
} from '../../react/features/participants-pane/actions';
|
||||
import { getParticipantsPaneOpen, isForceMuted } from '../../react/features/participants-pane/functions';
|
||||
import { startLocalVideoRecording, stopLocalVideoRecording } from '../../react/features/recording';
|
||||
import { RECORDING_TYPES } from '../../react/features/recording/constants';
|
||||
import { getActiveSession } from '../../react/features/recording/functions';
|
||||
import { getActiveSession, supportsLocalRecording } from '../../react/features/recording/functions';
|
||||
import { isScreenAudioSupported } from '../../react/features/screen-share';
|
||||
import { startScreenShareFlow, startAudioScreenShareFlow } from '../../react/features/screen-share/actions';
|
||||
import { startAudioScreenShareFlow, startScreenShareFlow } from '../../react/features/screen-share/actions';
|
||||
import { toggleScreenshotCaptureSummary } from '../../react/features/screenshot-capture';
|
||||
import { isScreenshotCaptureEnabled } from '../../react/features/screenshot-capture/functions';
|
||||
import { playSharedVideo, stopSharedVideo } from '../../react/features/shared-video/actions.any';
|
||||
import { extractYoutubeIdOrURL } from '../../react/features/shared-video/functions';
|
||||
import { toggleRequestingSubtitles, setRequestingSubtitles } from '../../react/features/subtitles/actions';
|
||||
import { setRequestingSubtitles, toggleRequestingSubtitles } from '../../react/features/subtitles/actions';
|
||||
import { isAudioMuteButtonDisabled } from '../../react/features/toolbox/functions';
|
||||
import { toggleTileView, setTileView } from '../../react/features/video-layout';
|
||||
import { setTileView, toggleTileView } from '../../react/features/video-layout';
|
||||
import { muteAllParticipants } from '../../react/features/video-menu/actions';
|
||||
import { setVideoQuality } from '../../react/features/video-quality';
|
||||
import VirtualBackgroundDialog from '../../react/features/virtual-background/components/VirtualBackgroundDialog';
|
||||
@@ -235,7 +237,11 @@ function initCommands() {
|
||||
'pin-participant': id => {
|
||||
logger.debug('Pin participant command received');
|
||||
sendAnalytics(createApiEvent('participant.pinned'));
|
||||
APP.store.dispatch(pinParticipant(id));
|
||||
if (isStageFilmstripAvailable(APP.store.getState())) {
|
||||
APP.store.dispatch(addStageParticipant(id, true));
|
||||
} else {
|
||||
APP.store.dispatch(pinParticipant(id));
|
||||
}
|
||||
},
|
||||
'proxy-connection-event': event => {
|
||||
APP.conference.onProxyConnectionEvent(event);
|
||||
@@ -544,10 +550,12 @@ function initCommands() {
|
||||
* For youtube streams, `youtubeStreamKey` must be passed on. `youtubeBroadcastID` is optional.
|
||||
* For dropbox recording, recording `mode` should be `file` and a dropbox oauth2 token must be provided.
|
||||
* For file recording, recording `mode` should be `file` and optionally `shouldShare` could be passed on.
|
||||
* For local recording, recording `mode` should be `local` and optionally `onlySelf` could be passed on.
|
||||
* No other params should be passed.
|
||||
*
|
||||
* @param { string } arg.mode - Recording mode, either `file` or `stream`.
|
||||
* @param { string } arg.mode - Recording mode, either `local`, `file` or `stream`.
|
||||
* @param { string } arg.dropboxToken - Dropbox oauth2 token.
|
||||
* @param { boolean } arg.onlySelf - Whether to only record the local streams.
|
||||
* @param { string } arg.rtmpStreamKey - The RTMP stream key.
|
||||
* @param { string } arg.rtmpBroadcastID - The RTMP broadcast ID.
|
||||
* @param { boolean } arg.shouldShare - Whether the recording should be shared with the participants or not.
|
||||
@@ -559,6 +567,7 @@ function initCommands() {
|
||||
'start-recording': ({
|
||||
mode,
|
||||
dropboxToken,
|
||||
onlySelf,
|
||||
shouldShare,
|
||||
rtmpStreamKey,
|
||||
rtmpBroadcastID,
|
||||
@@ -586,7 +595,26 @@ function initCommands() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode === 'local') {
|
||||
const { localRecording } = state['features/base/config'];
|
||||
|
||||
if (!localRecording?.disable && supportsLocalRecording()) {
|
||||
APP.store.dispatch(startLocalVideoRecording(onlySelf));
|
||||
} else {
|
||||
logger.error('Failed starting recording: local recording is either disabled or not supported');
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
let recordingConfig;
|
||||
const { recordingService } = state['features/base/config'];
|
||||
|
||||
if (!recordingService.enabled && !dropboxToken) {
|
||||
logger.error('Failed starting recording: the recording service is not enabled');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode === JitsiRecordingConstants.mode.FILE) {
|
||||
if (dropboxToken) {
|
||||
@@ -632,7 +660,7 @@ function initCommands() {
|
||||
/**
|
||||
* Stops a recording or streaming in progress.
|
||||
*
|
||||
* @param {string} mode - `file` or `stream`.
|
||||
* @param {string} mode - `local`, `file` or `stream`.
|
||||
* @returns {void}
|
||||
*/
|
||||
'stop-recording': mode => {
|
||||
@@ -645,6 +673,12 @@ function initCommands() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode === 'local') {
|
||||
APP.store.dispatch(stopLocalVideoRecording());
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (![ JitsiRecordingConstants.mode.FILE, JitsiRecordingConstants.mode.STREAM ].includes(mode)) {
|
||||
logger.error('Invalid recording mode provided!');
|
||||
|
||||
|
||||
@@ -12,10 +12,10 @@ import { setColorAlpha } from '../../react/features/base/util';
|
||||
import { setDocumentUrl } from '../../react/features/etherpad';
|
||||
import { setFilmstripVisible } from '../../react/features/filmstrip';
|
||||
import {
|
||||
NOTIFICATION_TIMEOUT_TYPE,
|
||||
joinLeaveNotificationsDisabled,
|
||||
setNotificationsEnabled,
|
||||
showNotification,
|
||||
NOTIFICATION_TIMEOUT_TYPE
|
||||
showNotification
|
||||
} from '../../react/features/notifications';
|
||||
import {
|
||||
dockToolbox,
|
||||
|
||||
@@ -11,8 +11,8 @@ import {
|
||||
WaitForOwnerDialog
|
||||
} from '../../../react/features/authentication/components';
|
||||
import {
|
||||
isTokenAuthEnabled,
|
||||
getTokenAuthUrl
|
||||
getTokenAuthUrl,
|
||||
isTokenAuthEnabled
|
||||
} from '../../../react/features/authentication/functions';
|
||||
import { getReplaceParticipant } from '../../../react/features/base/config/functions';
|
||||
import { isDialogOpen } from '../../../react/features/base/dialog';
|
||||
|
||||
@@ -34,7 +34,7 @@ import {
|
||||
isTrackStreamingStatusInactive,
|
||||
isTrackStreamingStatusInterrupted
|
||||
} from '../../../react/features/connection-indicator/functions';
|
||||
import { FILMSTRIP_BREAKPOINT, isFilmstripResizable, getVerticalViewMaxWidth } from '../../../react/features/filmstrip';
|
||||
import { FILMSTRIP_BREAKPOINT, getVerticalViewMaxWidth, isFilmstripResizable } from '../../../react/features/filmstrip';
|
||||
import {
|
||||
updateKnownLargeVideoResolution
|
||||
} from '../../../react/features/large-video/actions';
|
||||
@@ -45,7 +45,7 @@ import { shouldDisplayTileView } from '../../../react/features/video-layout';
|
||||
import { createDeferred } from '../../util/helpers';
|
||||
import AudioLevels from '../audio_levels/AudioLevels';
|
||||
|
||||
import { VideoContainer, VIDEO_CONTAINER_TYPE } from './VideoContainer';
|
||||
import { VIDEO_CONTAINER_TYPE, VideoContainer } from './VideoContainer';
|
||||
|
||||
const logger = Logger.getLogger(__filename);
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import ReactDOM from 'react-dom';
|
||||
import { browser } from '../../../react/features/base/lib-jitsi-meet';
|
||||
import { isTestModeEnabled } from '../../../react/features/base/testing';
|
||||
import { FILMSTRIP_BREAKPOINT } from '../../../react/features/filmstrip';
|
||||
import { ORIENTATION, LargeVideoBackground, updateLastLargeVideoMediaEvent } from '../../../react/features/large-video';
|
||||
import { LargeVideoBackground, ORIENTATION, updateLastLargeVideoMediaEvent } from '../../../react/features/large-video';
|
||||
import { setLargeVideoDimensions } from '../../../react/features/large-video/actions.any';
|
||||
import { LAYOUTS, getCurrentLayout } from '../../../react/features/video-layout';
|
||||
/* eslint-enable no-unused-vars */
|
||||
|
||||
@@ -5,8 +5,8 @@ import Logger from '@jitsi/logger';
|
||||
import { getMultipleVideoSupportFeatureFlag } from '../../../react/features/base/config';
|
||||
import { MEDIA_TYPE, VIDEO_TYPE } from '../../../react/features/base/media';
|
||||
import {
|
||||
getPinnedParticipant,
|
||||
getParticipantById
|
||||
getParticipantById,
|
||||
getPinnedParticipant
|
||||
} from '../../../react/features/base/participants';
|
||||
import {
|
||||
getTrackByMediaTypeAndParticipant,
|
||||
|
||||
5519
package-lock.json
generated
5519
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
18
package.json
18
package.json
@@ -16,7 +16,6 @@
|
||||
"readmeFilename": "README.md",
|
||||
"dependencies": {
|
||||
"@amplitude/react-native": "2.7.0",
|
||||
"@atlaskit/field-text-area": "8.0.4",
|
||||
"@atlaskit/flag": "14.1.0",
|
||||
"@atlaskit/icon": "21.2.0",
|
||||
"@atlaskit/inline-dialog": "13.0.9",
|
||||
@@ -33,7 +32,8 @@
|
||||
"@giphy/react-components": "5.6.0",
|
||||
"@giphy/react-native-sdk": "1.7.0",
|
||||
"@hapi/bourne": "2.0.0",
|
||||
"@jitsi/js-utils": "2.0.3",
|
||||
"@jitsi/excalidraw": "https://github.com/jitsi/excalidraw/releases/download/v0.0.11/jitsi-excalidraw-0.0.11.tgz",
|
||||
"@jitsi/js-utils": "2.0.4",
|
||||
"@jitsi/logger": "2.0.0",
|
||||
"@jitsi/rnnoise-wasm": "0.1.0",
|
||||
"@jitsi/rtcstats": "9.3.0",
|
||||
@@ -52,9 +52,10 @@
|
||||
"@react-navigation/material-top-tabs": "6.0.6",
|
||||
"@react-navigation/native": "6.0.6",
|
||||
"@react-navigation/stack": "6.2.2",
|
||||
"@svgr/webpack": "4.3.2",
|
||||
"@svgr/webpack": "6.3.1",
|
||||
"@tensorflow/tfjs-backend-wasm": "3.13.0",
|
||||
"@tensorflow/tfjs-core": "3.13.0",
|
||||
"@types/amplitude-js": "8.16.2",
|
||||
"@types/audioworklet": "0.0.29",
|
||||
"@types/w3c-image-capture": "1.0.6",
|
||||
"@vladmandic/human": "2.6.5",
|
||||
@@ -78,7 +79,7 @@
|
||||
"js-md5": "0.6.1",
|
||||
"js-sha512": "0.8.0",
|
||||
"jwt-decode": "2.2.0",
|
||||
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1500.0.0+d96dad72/lib-jitsi-meet.tgz",
|
||||
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1508.0.0+238dd7b2/lib-jitsi-meet.tgz",
|
||||
"lodash": "4.17.21",
|
||||
"moment": "2.29.4",
|
||||
"moment-duration-format": "2.2.2",
|
||||
@@ -92,7 +93,7 @@
|
||||
"react-focus-lock": "2.5.1",
|
||||
"react-i18next": "10.11.4",
|
||||
"react-linkify": "1.0.0-alpha",
|
||||
"react-native": "0.68.1",
|
||||
"react-native": "0.68.3",
|
||||
"react-native-background-timer": "2.4.1",
|
||||
"react-native-calendar-events": "2.2.0",
|
||||
"react-native-callstats": "3.73.7",
|
||||
@@ -104,6 +105,7 @@
|
||||
"react-native-get-random-values": "1.7.2",
|
||||
"react-native-immersive": "2.0.0",
|
||||
"react-native-keep-awake": "4.0.0",
|
||||
"react-native-orientation-locker": "^1.5.0",
|
||||
"react-native-pager-view": "5.4.9",
|
||||
"react-native-paper": "4.11.1",
|
||||
"react-native-performance": "2.1.0",
|
||||
@@ -117,7 +119,7 @@
|
||||
"react-native-url-polyfill": "1.3.0",
|
||||
"react-native-video": "https://git@github.com/react-native-video/react-native-video#7c48ae7c8544b2b537fb60194e9620b9fcceae52",
|
||||
"react-native-watch-connectivity": "1.0.11",
|
||||
"react-native-webrtc": "1.100.1",
|
||||
"react-native-webrtc": "1.106.1",
|
||||
"react-native-webview": "11.15.1",
|
||||
"react-native-youtube-iframe": "2.2.1",
|
||||
"react-redux": "7.1.0",
|
||||
@@ -146,11 +148,11 @@
|
||||
"@babel/preset-flow": "7.16.0",
|
||||
"@babel/preset-react": "7.16.0",
|
||||
"@babel/runtime": "7.16.0",
|
||||
"@jitsi/eslint-config": "4.1.2",
|
||||
"@jitsi/eslint-config": "4.1.4",
|
||||
"@types/js-md5": "0.4.3",
|
||||
"@types/lodash": "4.14.182",
|
||||
"@types/react": "17.0.14",
|
||||
"@types/react-native": "0.68.1",
|
||||
"@types/react-native": "0.68.7",
|
||||
"@types/react-redux": "7.1.24",
|
||||
"@types/react-window": "1.8.5",
|
||||
"@types/unorm": "1.3.28",
|
||||
|
||||
@@ -4,8 +4,7 @@ import { API_ID } from '../../../modules/API/constants';
|
||||
// @ts-ignore
|
||||
import { getName as getAppName } from '../app/functions';
|
||||
import { IStore } from '../app/types';
|
||||
// @ts-ignore
|
||||
import { getAnalyticsRoomName } from '../base/conference';
|
||||
import { getAnalyticsRoomName } from '../base/conference/functions';
|
||||
import {
|
||||
checkChromeExtensionsInstalled,
|
||||
isMobileBrowser
|
||||
@@ -14,8 +13,7 @@ import JitsiMeetJS, {
|
||||
analytics,
|
||||
browser
|
||||
} from '../base/lib-jitsi-meet';
|
||||
// @ts-ignore
|
||||
import { isAnalyticsEnabled } from '../base/lib-jitsi-meet/functions';
|
||||
import { isAnalyticsEnabled } from '../base/lib-jitsi-meet/functions.any';
|
||||
// @ts-ignore
|
||||
import { loadScript } from '../base/util';
|
||||
import { getJitsiMeetGlobalNS } from '../base/util/helpers';
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// @ts-ignore
|
||||
import amplitude from 'amplitude-js';
|
||||
|
||||
export default amplitude;
|
||||
|
||||
@@ -16,7 +16,6 @@ import {
|
||||
import {
|
||||
getLocalAudioTrack,
|
||||
getLocalVideoTrack
|
||||
// @ts-ignore
|
||||
} from '../base/tracks/functions';
|
||||
|
||||
import { createLocalTracksDurationEvent, createNetworkInfoEvent } from './AnalyticsEvents';
|
||||
|
||||
@@ -22,8 +22,8 @@ import {
|
||||
} from '../base/util';
|
||||
import { isVpaasMeeting } from '../jaas/functions';
|
||||
import {
|
||||
clearNotifications,
|
||||
NOTIFICATION_TIMEOUT_TYPE,
|
||||
clearNotifications,
|
||||
showNotification
|
||||
} from '../notifications';
|
||||
import { setFatalError } from '../overlay';
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
import { AtlasKitThemeProvider } from '@atlaskit/theme';
|
||||
import React from 'react';
|
||||
|
||||
import { DialogContainer } from '../../base/dialog';
|
||||
import GlobalStyles from '../../base/ui/components/GlobalStyles';
|
||||
import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider.web';
|
||||
import DialogContainer from '../../base/ui/components/web/DialogContainer';
|
||||
import { ChromeExtensionBanner } from '../../chrome-extension-banner';
|
||||
|
||||
import { AbstractApp } from './AbstractApp';
|
||||
|
||||
@@ -22,5 +22,7 @@ import '../talk-while-muted/middleware';
|
||||
import '../virtual-background/middleware';
|
||||
import '../face-landmarks/middleware';
|
||||
import '../gifs/middleware';
|
||||
import '../whiteboard/middleware';
|
||||
import '../base/dialog/middleware';
|
||||
|
||||
import './middlewares.any';
|
||||
|
||||
@@ -15,4 +15,6 @@ import '../noise-suppression/reducer';
|
||||
import '../screenshot-capture/reducer';
|
||||
import '../talk-while-muted/reducer';
|
||||
import '../virtual-background/reducer';
|
||||
import '../whiteboard/reducer';
|
||||
|
||||
import './reducers.any';
|
||||
|
||||
@@ -75,6 +75,7 @@ import { IVideoLayoutState } from '../video-layout/reducer';
|
||||
import { IVideoQualityPersistedState, IVideoQualityState } from '../video-quality/reducer';
|
||||
import { IVideoSipGW } from '../videosipgw/reducer';
|
||||
import { IVirtualBackground } from '../virtual-background/reducer';
|
||||
import { IWhiteboardState } from '../whiteboard/reducer';
|
||||
|
||||
export interface IStore {
|
||||
dispatch: ThunkDispatch<IState, void, AnyAction>;
|
||||
@@ -159,4 +160,5 @@ export interface IState {
|
||||
'features/video-quality-persistent-storage': IVideoQualityPersistedState;
|
||||
'features/videosipgw': IVideoSipGW;
|
||||
'features/virtual-background': IVirtualBackground;
|
||||
'features/whiteboard': IWhiteboardState;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import { hideDialog, openDialog } from '../base/dialog/actions';
|
||||
import {
|
||||
CANCEL_LOGIN
|
||||
} from './actionTypes';
|
||||
import { WaitForOwnerDialog, LoginDialog } from './components';
|
||||
import { LoginDialog, WaitForOwnerDialog } from './components';
|
||||
|
||||
export * from './actions.any';
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user