Browse Source

ref: eslint-config-jitsi@1.0.3

master
Bettenbuk Zoltan 4 years ago
parent
commit
0598e7369b
100 changed files with 727 additions and 267 deletions
  1. 1
    1
      app.js
  2. 20
    24
      conference.js
  3. 2
    2
      connection.js
  4. 8
    5
      modules/API/API.js
  5. 10
    9
      modules/UI/UI.js
  6. 3
    1
      modules/UI/authentication/AuthHandler.js
  7. 2
    3
      modules/UI/etherpad/Etherpad.js
  8. 8
    8
      modules/UI/shared_video/SharedVideo.js
  9. 3
    1
      modules/UI/shared_video/SharedVideoThumb.js
  10. 3
    1
      modules/UI/util/MessageHandler.js
  11. 8
    8
      modules/UI/videolayout/LargeVideoManager.js
  12. 4
    3
      modules/UI/videolayout/LocalVideo.js
  13. 6
    6
      modules/UI/videolayout/RemoteVideo.js
  14. 4
    3
      modules/UI/videolayout/SmallVideo.js
  15. 2
    2
      modules/UI/videolayout/VideoContainer.js
  16. 6
    5
      modules/UI/videolayout/VideoLayout.js
  17. 4
    2
      modules/keyboardshortcut/keyboardshortcut.js
  18. 2
    2
      modules/remotecontrol/Controller.js
  19. 3
    2
      modules/transport/index.js
  20. 530
    52
      package-lock.json
  21. 2
    2
      package.json
  22. 1
    1
      react/features/always-on-top/HangupButton.js
  23. 1
    1
      react/features/always-on-top/VideoMuteButton.js
  24. 5
    4
      react/features/analytics/functions.js
  25. 1
    1
      react/features/analytics/middleware.js
  26. 1
    3
      react/features/app/components/AbstractApp.js
  27. 1
    1
      react/features/app/components/App.native.js
  28. 1
    1
      react/features/app/getRouteToRender.js
  29. 0
    1
      react/features/app/middleware.js
  30. 0
    1
      react/features/authentication/components/LoginDialog.native.js
  31. 0
    1
      react/features/authentication/components/WaitForOwnerDialog.native.js
  32. 5
    5
      react/features/authentication/middleware.js
  33. 2
    2
      react/features/base/audio-only/actions.js
  34. 0
    1
      react/features/base/avatar/components/Avatar.js
  35. 2
    3
      react/features/base/avatar/components/native/StatelessAvatar.js
  36. 0
    1
      react/features/base/avatar/components/web/StatelessAvatar.js
  37. 1
    1
      react/features/base/color-scheme/middleware.js
  38. 0
    1
      react/features/base/conference/actions.js
  39. 8
    9
      react/features/base/conference/middleware.js
  40. 1
    1
      react/features/base/conference/reducer.js
  41. 2
    1
      react/features/base/config/functions.any.js
  42. 0
    1
      react/features/base/connection/reducer.js
  43. 1
    1
      react/features/base/devices/functions.js
  44. 12
    12
      react/features/base/devices/middleware.js
  45. 2
    3
      react/features/base/devices/reducer.js
  46. 0
    1
      react/features/base/dialog/components/native/AlertDialog.js
  47. 1
    1
      react/features/base/dialog/components/native/BaseDialog.js
  48. 0
    1
      react/features/base/dialog/components/native/ConfirmDialog.js
  49. 0
    1
      react/features/base/dialog/components/native/CustomDialog.js
  50. 0
    1
      react/features/base/dialog/components/native/CustomSubmitDialog.js
  51. 0
    1
      react/features/base/dialog/components/native/DialogContainer.js
  52. 0
    2
      react/features/base/dialog/components/native/InputDialog.js
  53. 0
    1
      react/features/base/dialog/components/native/styles.js
  54. 1
    1
      react/features/base/dialog/components/web/Dialog.js
  55. 0
    1
      react/features/base/dialog/components/web/DialogContainer.js
  56. 0
    1
      react/features/base/dialog/components/web/DialogWithTabs.js
  57. 0
    1
      react/features/base/dialog/components/web/StatelessDialog.js
  58. 1
    0
      react/features/base/environment/environment.js
  59. 1
    1
      react/features/base/i18n/i18next.js
  60. 1
    2
      react/features/base/icons/components/Icon.js
  61. 1
    1
      react/features/base/jwt/middleware.js
  62. 0
    1
      react/features/base/known-domains/middleware.js
  63. 0
    1
      react/features/base/lastn/middleware.js
  64. 1
    0
      react/features/base/lib-jitsi-meet/functions.any.js
  65. 1
    0
      react/features/base/lib-jitsi-meet/functions.native.js
  66. 1
    1
      react/features/base/lib-jitsi-meet/middleware.js
  67. 1
    0
      react/features/base/lib-jitsi-meet/native/WiFiStats.js
  68. 1
    1
      react/features/base/logging/functions.js
  69. 3
    4
      react/features/base/logging/middleware.js
  70. 1
    0
      react/features/base/logging/reducer.js
  71. 1
    1
      react/features/base/media/components/AbstractVideoTrack.js
  72. 0
    1
      react/features/base/media/components/native/Audio.js
  73. 1
    1
      react/features/base/media/components/native/Video.js
  74. 1
    1
      react/features/base/media/components/native/VideoTrack.js
  75. 2
    3
      react/features/base/media/components/native/VideoTransform.js
  76. 0
    1
      react/features/base/media/components/web/VideoTrack.js
  77. 0
    1
      react/features/base/media/middleware.js
  78. 0
    1
      react/features/base/modal/components/JitsiModal.js
  79. 1
    2
      react/features/base/net-info/NetworkInfoService.native.js
  80. 0
    1
      react/features/base/net-info/actions.js
  81. 1
    1
      react/features/base/net-info/middleware.js
  82. 1
    1
      react/features/base/participants/actions.js
  83. 1
    1
      react/features/base/participants/components/ParticipantView.native.js
  84. 1
    2
      react/features/base/participants/functions.js
  85. 8
    10
      react/features/base/participants/middleware.js
  86. 2
    1
      react/features/base/react/components/NavigateSectionList.js
  87. 0
    1
      react/features/base/react/components/native/AvatarListItem.js
  88. 1
    1
      react/features/base/react/components/native/Linkify.js
  89. 0
    1
      react/features/base/react/components/native/NavigateSectionListItem.js
  90. 3
    2
      react/features/base/react/components/native/NavigateSectionListSectionHeader.js
  91. 2
    1
      react/features/base/react/components/native/SectionList.js
  92. 0
    1
      react/features/base/react/components/native/SlidingView.js
  93. 1
    1
      react/features/base/react/components/web/BaseIndicator.js
  94. 1
    1
      react/features/base/react/components/web/MultiSelectAutocomplete.js
  95. 2
    1
      react/features/base/react/components/web/NavigateSectionListItem.js
  96. 2
    1
      react/features/base/react/components/web/NavigateSectionListSectionHeader.js
  97. 2
    1
      react/features/base/react/components/web/SectionList.js
  98. 0
    1
      react/features/base/responsive-ui/components/AspectRatioAware.js
  99. 0
    1
      react/features/base/settings/functions.native.js
  100. 0
    0
      react/features/base/settings/middleware.js

+ 1
- 1
app.js View File

@@ -6,10 +6,10 @@ import 'jQuery-Impromptu';
6 6
 
7 7
 import conference from './conference';
8 8
 import API from './modules/API';
9
+import UI from './modules/UI/UI';
9 10
 import keyboardshortcut from './modules/keyboardshortcut/keyboardshortcut';
10 11
 import remoteControl from './modules/remotecontrol/RemoteControl';
11 12
 import translation from './modules/translation/translation';
12
-import UI from './modules/UI/UI';
13 13
 
14 14
 window.APP = {
15 15
     API,

+ 20
- 24
conference.js View File

@@ -1,20 +1,16 @@
1 1
 /* global $, APP, JitsiMeetJS, config, interfaceConfig */
2 2
 
3
-import { openConnection } from './connection';
3
+import EventEmitter from 'events';
4
+import Logger from 'jitsi-meet-logger';
4 5
 
6
+import * as JitsiMeetConferenceEvents from './ConferenceEvents';
7
+import { openConnection } from './connection';
5 8
 import { ENDPOINT_TEXT_MESSAGE_NAME } from './modules/API/constants';
6 9
 import AuthHandler from './modules/UI/authentication/AuthHandler';
7
-import Recorder from './modules/recorder/Recorder';
8
-
9
-import mediaDeviceHelper from './modules/devices/mediaDeviceHelper';
10
-
11
-import * as RemoteControlEvents
12
-    from './service/remotecontrol/RemoteControlEvents';
13
-import UIEvents from './service/UI/UIEvents';
14 10
 import UIUtil from './modules/UI/util/UIUtil';
11
+import mediaDeviceHelper from './modules/devices/mediaDeviceHelper';
12
+import Recorder from './modules/recorder/Recorder';
15 13
 import { createTaskQueue } from './modules/util/helpers';
16
-import * as JitsiMeetConferenceEvents from './ConferenceEvents';
17
-
18 14
 import {
19 15
     createDeviceChangedEvent,
20 16
     createStartSilentEvent,
@@ -27,16 +23,6 @@ import {
27 23
     redirectToStaticPage,
28 24
     reloadWithStoredParams
29 25
 } from './react/features/app';
30
-import {
31
-    initPrejoin,
32
-    isPrejoinPageEnabled,
33
-    isPrejoinPageVisible,
34
-    replacePrejoinAudioTrack,
35
-    replacePrejoinVideoTrack
36
-} from './react/features/prejoin';
37
-
38
-import EventEmitter from 'events';
39
-
40 26
 import {
41 27
     AVATAR_ID_COMMAND,
42 28
     AVATAR_URL_COMMAND,
@@ -86,7 +72,6 @@ import {
86 72
     setVideoAvailable,
87 73
     setVideoMuted
88 74
 } from './react/features/base/media';
89
-import { showNotification } from './react/features/notifications';
90 75
 import {
91 76
     dominantSpeakerChanged,
92 77
     getLocalParticipant,
@@ -124,16 +109,27 @@ import {
124 109
     maybeOpenFeedbackDialog,
125 110
     submitFeedback
126 111
 } from './react/features/feedback';
112
+import { showNotification } from './react/features/notifications';
127 113
 import { mediaPermissionPromptVisibilityChanged } from './react/features/overlay';
128 114
 import { suspendDetected } from './react/features/power-monitor';
115
+import {
116
+    initPrejoin,
117
+    isPrejoinPageEnabled,
118
+    isPrejoinPageVisible,
119
+    replacePrejoinAudioTrack,
120
+    replacePrejoinVideoTrack
121
+} from './react/features/prejoin';
122
+import { createRnnoiseProcessorPromise } from './react/features/rnnoise';
123
+import { toggleScreenshotCaptureEffect } from './react/features/screenshot-capture';
129 124
 import { setSharedVideoStatus } from './react/features/shared-video';
130 125
 import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/AudioMixerEffect';
131 126
 import { createPresenterEffect } from './react/features/stream-effects/presenter';
132 127
 import { endpointMessageReceived } from './react/features/subtitles';
133
-import { createRnnoiseProcessorPromise } from './react/features/rnnoise';
134
-import { toggleScreenshotCaptureEffect } from './react/features/screenshot-capture';
128
+import UIEvents from './service/UI/UIEvents';
129
+import * as RemoteControlEvents
130
+    from './service/remotecontrol/RemoteControlEvents';
135 131
 
136
-const logger = require('jitsi-meet-logger').getLogger(__filename);
132
+const logger = Logger.getLogger(__filename);
137 133
 
138 134
 const eventEmitter = new EventEmitter();
139 135
 

+ 2
- 2
connection.js View File

@@ -1,9 +1,9 @@
1 1
 /* global APP, JitsiMeetJS, config */
2 2
 
3
+import Logger from 'jitsi-meet-logger';
3 4
 import { jitsiLocalStorage } from 'js-utils';
4 5
 
5 6
 import AuthHandler from './modules/UI/authentication/AuthHandler';
6
-
7 7
 import {
8 8
     connectionEstablished,
9 9
     connectionFailed
@@ -14,7 +14,7 @@ import {
14 14
     JitsiConnectionEvents
15 15
 } from './react/features/base/lib-jitsi-meet';
16 16
 
17
-const logger = require('jitsi-meet-logger').getLogger(__filename);
17
+const logger = Logger.getLogger(__filename);
18 18
 
19 19
 /**
20 20
  * The feature announced so we can distinguish jibri participants.

+ 8
- 5
modules/API/API.js View File

@@ -1,5 +1,7 @@
1 1
 // @flow
2 2
 
3
+import Logger from 'jitsi-meet-logger';
4
+
3 5
 import * as JitsiMeetConferenceEvents from '../../ConferenceEvents';
4 6
 import {
5 7
     createApiEvent,
@@ -11,18 +13,19 @@ import {
11 13
     setSubject
12 14
 } from '../../react/features/base/conference';
13 15
 import { parseJWTFromURLParams } from '../../react/features/base/jwt';
16
+import {
17
+    processExternalDeviceRequest
18
+} from '../../react/features/device-selection/functions';
14 19
 import { setE2EEKey } from '../../react/features/e2ee';
15 20
 import { invite } from '../../react/features/invite';
21
+import { muteAllParticipants } from '../../react/features/remote-video-menu/actions';
16 22
 import { toggleTileView } from '../../react/features/video-layout';
17 23
 import { setVideoQuality } from '../../react/features/video-quality';
18 24
 import { getJitsiMeetTransport } from '../transport';
19
-import { muteAllParticipants } from '../../react/features/remote-video-menu/actions';
25
+
20 26
 import { API_ID, ENDPOINT_TEXT_MESSAGE_NAME } from './constants';
21
-import {
22
-    processExternalDeviceRequest
23
-} from '../../react/features/device-selection/functions';
24 27
 
25
-const logger = require('jitsi-meet-logger').getLogger(__filename);
28
+const logger = Logger.getLogger(__filename);
26 29
 
27 30
 declare var APP: Object;
28 31
 

+ 10
- 9
modules/UI/UI.js View File

@@ -1,16 +1,10 @@
1 1
 /* global APP, $, config, interfaceConfig */
2 2
 
3
-const logger = require('jitsi-meet-logger').getLogger(__filename);
4 3
 
5 4
 const UI = {};
6 5
 
7
-import messageHandler from './util/MessageHandler';
8
-import UIUtil from './util/UIUtil';
9
-import UIEvents from '../../service/UI/UIEvents';
10
-import EtherpadManager from './etherpad/Etherpad';
11
-import SharedVideoManager from './shared_video/SharedVideo';
12
-
13
-import VideoLayout from './videolayout/VideoLayout';
6
+import EventEmitter from 'events';
7
+import Logger from 'jitsi-meet-logger';
14 8
 
15 9
 import { getLocalParticipant } from '../../react/features/base/participants';
16 10
 import { toggleChat } from '../../react/features/chat';
@@ -22,8 +16,15 @@ import {
22 16
     setToolboxEnabled,
23 17
     showToolbox
24 18
 } from '../../react/features/toolbox';
19
+import UIEvents from '../../service/UI/UIEvents';
20
+
21
+import EtherpadManager from './etherpad/Etherpad';
22
+import SharedVideoManager from './shared_video/SharedVideo';
23
+import messageHandler from './util/MessageHandler';
24
+import UIUtil from './util/UIUtil';
25
+import VideoLayout from './videolayout/VideoLayout';
25 26
 
26
-const EventEmitter = require('events');
27
+const logger = Logger.getLogger(__filename);
27 28
 
28 29
 UI.messageHandler = messageHandler;
29 30
 

+ 3
- 1
modules/UI/authentication/AuthHandler.js View File

@@ -1,5 +1,7 @@
1 1
 /* global APP, config, JitsiMeetJS, Promise */
2 2
 
3
+import Logger from 'jitsi-meet-logger';
4
+
3 5
 import { openConnection } from '../../../connection';
4 6
 import { setJWT } from '../../../react/features/base/jwt';
5 7
 import {
@@ -9,7 +11,7 @@ import UIUtil from '../util/UIUtil';
9 11
 
10 12
 import LoginDialog from './LoginDialog';
11 13
 
12
-const logger = require('jitsi-meet-logger').getLogger(__filename);
14
+const logger = Logger.getLogger(__filename);
13 15
 
14 16
 let externalAuthWindow;
15 17
 let authRequiredDialog;

+ 2
- 3
modules/UI/etherpad/Etherpad.js View File

@@ -2,10 +2,9 @@
2 2
 
3 3
 import { getSharedDocumentUrl, setDocumentEditingState } from '../../../react/features/etherpad';
4 4
 import { getToolboxHeight } from '../../../react/features/toolbox';
5
-
6
-import VideoLayout from '../videolayout/VideoLayout';
7
-import LargeContainer from '../videolayout/LargeContainer';
8 5
 import Filmstrip from '../videolayout/Filmstrip';
6
+import LargeContainer from '../videolayout/LargeContainer';
7
+import VideoLayout from '../videolayout/VideoLayout';
9 8
 
10 9
 /**
11 10
  *

+ 8
- 8
modules/UI/shared_video/SharedVideo.js View File

@@ -1,14 +1,7 @@
1 1
 /* global $, APP, YT, interfaceConfig, onPlayerReady, onPlayerStateChange,
2 2
 onPlayerError */
3 3
 
4
-const logger = require('jitsi-meet-logger').getLogger(__filename);
5
-
6
-import UIUtil from '../util/UIUtil';
7
-import UIEvents from '../../../service/UI/UIEvents';
8
-
9
-import VideoLayout from '../videolayout/VideoLayout';
10
-import LargeContainer from '../videolayout/LargeContainer';
11
-import Filmstrip from '../videolayout/Filmstrip';
4
+import Logger from 'jitsi-meet-logger';
12 5
 
13 6
 import {
14 7
     createSharedVideoEvent as createEvent,
@@ -24,6 +17,13 @@ import {
24 17
     getToolboxHeight,
25 18
     showToolbox
26 19
 } from '../../../react/features/toolbox';
20
+import UIEvents from '../../../service/UI/UIEvents';
21
+import UIUtil from '../util/UIUtil';
22
+import Filmstrip from '../videolayout/Filmstrip';
23
+import LargeContainer from '../videolayout/LargeContainer';
24
+import VideoLayout from '../videolayout/VideoLayout';
25
+
26
+const logger = Logger.getLogger(__filename);
27 27
 
28 28
 export const SHARED_VIDEO_CONTAINER_TYPE = 'sharedvideo';
29 29
 

+ 3
- 1
modules/UI/shared_video/SharedVideoThumb.js View File

@@ -1,8 +1,10 @@
1 1
 /* global $ */
2 2
 
3
+import Logger from 'jitsi-meet-logger';
4
+
3 5
 import SmallVideo from '../videolayout/SmallVideo';
4 6
 
5
-const logger = require('jitsi-meet-logger').getLogger(__filename);
7
+const logger = Logger.getLogger(__filename);
6 8
 
7 9
 /**
8 10
  *

+ 3
- 1
modules/UI/util/MessageHandler.js View File

@@ -1,6 +1,6 @@
1 1
 /* global $, APP */
2
-const logger = require('jitsi-meet-logger').getLogger(__filename);
3 2
 
3
+import Logger from 'jitsi-meet-logger';
4 4
 import { jitsiLocalStorage } from 'js-utils';
5 5
 
6 6
 import {
@@ -10,6 +10,8 @@ import {
10 10
     showWarningNotification
11 11
 } from '../../../react/features/notifications';
12 12
 
13
+const logger = Logger.getLogger(__filename);
14
+
13 15
 /**
14 16
  * Flag for enabling/disabling popups.
15 17
  * @type {boolean}

+ 8
- 8
modules/UI/videolayout/LargeVideoManager.js View File

@@ -1,5 +1,6 @@
1 1
 /* global $, APP */
2 2
 /* eslint-disable no-unused-vars */
3
+import Logger from 'jitsi-meet-logger';
3 4
 import React from 'react';
4 5
 import ReactDOM from 'react-dom';
5 6
 import { I18nextProvider } from 'react-i18next';
@@ -7,24 +8,23 @@ import { Provider } from 'react-redux';
7 8
 
8 9
 import { Avatar } from '../../../react/features/base/avatar';
9 10
 import { i18next } from '../../../react/features/base/i18n';
10
-import { PresenceLabel } from '../../../react/features/presence-status';
11
-/* eslint-enable no-unused-vars */
12
-
13
-const logger = require('jitsi-meet-logger').getLogger(__filename);
14
-
15
-import { VIDEO_TYPE } from '../../../react/features/base/media';
16 11
 import {
17 12
     JitsiParticipantConnectionStatus
18 13
 } from '../../../react/features/base/lib-jitsi-meet';
14
+import { VIDEO_TYPE } from '../../../react/features/base/media';
19 15
 import {
20 16
     updateKnownLargeVideoResolution
21 17
 } from '../../../react/features/large-video';
22
-import { createDeferred } from '../../util/helpers';
18
+import { PresenceLabel } from '../../../react/features/presence-status';
19
+/* eslint-enable no-unused-vars */
23 20
 import UIEvents from '../../../service/UI/UIEvents';
21
+import { createDeferred } from '../../util/helpers';
22
+import AudioLevels from '../audio_levels/AudioLevels';
24 23
 import UIUtil from '../util/UIUtil';
24
+
25 25
 import { VideoContainer, VIDEO_CONTAINER_TYPE } from './VideoContainer';
26 26
 
27
-import AudioLevels from '../audio_levels/AudioLevels';
27
+const logger = Logger.getLogger(__filename);
28 28
 
29 29
 const DESKTOP_CONTAINER_TYPE = 'desktop';
30 30
 

+ 4
- 3
modules/UI/videolayout/LocalVideo.js View File

@@ -1,5 +1,6 @@
1 1
 /* global $, config, interfaceConfig, APP */
2 2
 
3
+import Logger from 'jitsi-meet-logger';
3 4
 /* eslint-disable no-unused-vars */
4 5
 import React, { Component } from 'react';
5 6
 import ReactDOM from 'react-dom';
@@ -11,12 +12,12 @@ import { updateSettings } from '../../../react/features/base/settings';
11 12
 import { getLocalVideoTrack } from '../../../react/features/base/tracks';
12 13
 import { shouldDisplayTileView } from '../../../react/features/video-layout';
13 14
 /* eslint-enable no-unused-vars */
14
-
15
-const logger = require('jitsi-meet-logger').getLogger(__filename);
16
-
17 15
 import UIEvents from '../../../service/UI/UIEvents';
16
+
18 17
 import SmallVideo from './SmallVideo';
19 18
 
19
+const logger = Logger.getLogger(__filename);
20
+
20 21
 /**
21 22
  *
22 23
  */

+ 6
- 6
modules/UI/videolayout/RemoteVideo.js View File

@@ -1,11 +1,12 @@
1 1
 /* global $, APP, interfaceConfig */
2 2
 
3 3
 /* eslint-disable no-unused-vars */
4
+import { AtlasKitThemeProvider } from '@atlaskit/theme';
5
+import Logger from 'jitsi-meet-logger';
4 6
 import React from 'react';
5 7
 import ReactDOM from 'react-dom';
6
-import { Provider } from 'react-redux';
7 8
 import { I18nextProvider } from 'react-i18next';
8
-import { AtlasKitThemeProvider } from '@atlaskit/theme';
9
+import { Provider } from 'react-redux';
9 10
 
10 11
 import { i18next } from '../../../react/features/base/i18n';
11 12
 import {
@@ -22,12 +23,11 @@ import {
22 23
 } from '../../../react/features/remote-video-menu';
23 24
 import { LAYOUTS, getCurrentLayout } from '../../../react/features/video-layout';
24 25
 /* eslint-enable no-unused-vars */
25
-
26
-const logger = require('jitsi-meet-logger').getLogger(__filename);
27
-
26
+import UIUtils from '../util/UIUtil';
28 27
 
29 28
 import SmallVideo from './SmallVideo';
30
-import UIUtils from '../util/UIUtil';
29
+
30
+const logger = Logger.getLogger(__filename);
31 31
 
32 32
 /**
33 33
  *

+ 4
- 3
modules/UI/videolayout/SmallVideo.js View File

@@ -1,15 +1,16 @@
1 1
 /* global $, APP, config, interfaceConfig */
2 2
 
3 3
 /* eslint-disable no-unused-vars */
4
+import { AtlasKitThemeProvider } from '@atlaskit/theme';
5
+import Logger from 'jitsi-meet-logger';
4 6
 import React from 'react';
5 7
 import ReactDOM from 'react-dom';
6 8
 import { I18nextProvider } from 'react-i18next';
7
-import { AtlasKitThemeProvider } from '@atlaskit/theme';
8 9
 import { Provider } from 'react-redux';
9 10
 
10
-import { i18next } from '../../../react/features/base/i18n';
11 11
 import { AudioLevelIndicator } from '../../../react/features/audio-level-indicator';
12 12
 import { Avatar as AvatarDisplay } from '../../../react/features/base/avatar';
13
+import { i18next } from '../../../react/features/base/i18n';
13 14
 import {
14 15
     getParticipantCount,
15 16
     getPinnedParticipant,
@@ -30,7 +31,7 @@ import {
30 31
 } from '../../../react/features/video-layout';
31 32
 /* eslint-enable no-unused-vars */
32 33
 
33
-const logger = require('jitsi-meet-logger').getLogger(__filename);
34
+const logger = Logger.getLogger(__filename);
34 35
 
35 36
 /**
36 37
  * Display mode constant used when video is being displayed on the small video.

+ 2
- 2
modules/UI/videolayout/VideoContainer.js View File

@@ -8,11 +8,11 @@ import { browser } from '../../../react/features/base/lib-jitsi-meet';
8 8
 import { ORIENTATION, LargeVideoBackground } from '../../../react/features/large-video';
9 9
 import { LAYOUTS, getCurrentLayout } from '../../../react/features/video-layout';
10 10
 /* eslint-enable no-unused-vars */
11
+import UIEvents from '../../../service/UI/UIEvents';
12
+import UIUtil from '../util/UIUtil';
11 13
 
12 14
 import Filmstrip from './Filmstrip';
13 15
 import LargeContainer from './LargeContainer';
14
-import UIEvents from '../../../service/UI/UIEvents';
15
-import UIUtil from '../util/UIUtil';
16 16
 
17 17
 // FIXME should be 'video'
18 18
 export const VIDEO_CONTAINER_TYPE = 'camera';

+ 6
- 5
modules/UI/videolayout/VideoLayout.js View File

@@ -1,5 +1,6 @@
1 1
 /* global APP, $, interfaceConfig  */
2
-const logger = require('jitsi-meet-logger').getLogger(__filename);
2
+
3
+import Logger from 'jitsi-meet-logger';
3 4
 
4 5
 import { MEDIA_TYPE, VIDEO_TYPE } from '../../../react/features/base/media';
5 6
 import {
@@ -9,16 +10,16 @@ import {
9 10
     pinParticipant
10 11
 } from '../../../react/features/base/participants';
11 12
 import { getTrackByMediaTypeAndParticipant } from '../../../react/features/base/tracks';
13
+import UIEvents from '../../../service/UI/UIEvents';
12 14
 import { SHARED_VIDEO_CONTAINER_TYPE } from '../shared_video/SharedVideo';
13 15
 import SharedVideoThumb from '../shared_video/SharedVideoThumb';
14 16
 
15
-import UIEvents from '../../../service/UI/UIEvents';
16
-
17
-import RemoteVideo from './RemoteVideo';
18 17
 import LargeVideoManager from './LargeVideoManager';
18
+import LocalVideo from './LocalVideo';
19
+import RemoteVideo from './RemoteVideo';
19 20
 import { VIDEO_CONTAINER_TYPE } from './VideoContainer';
20 21
 
21
-import LocalVideo from './LocalVideo';
22
+const logger = Logger.getLogger(__filename);
22 23
 
23 24
 const remoteVideos = {};
24 25
 let localVideoThumbnail = null;

+ 4
- 2
modules/keyboardshortcut/keyboardshortcut.js View File

@@ -1,17 +1,19 @@
1 1
 /* global APP, $, interfaceConfig */
2 2
 
3
-import { toggleDialog } from '../../react/features/base/dialog';
3
+import Logger from 'jitsi-meet-logger';
4
+
4 5
 import {
5 6
     ACTION_SHORTCUT_PRESSED as PRESSED,
6 7
     ACTION_SHORTCUT_RELEASED as RELEASED,
7 8
     createShortcutEvent,
8 9
     sendAnalytics
9 10
 } from '../../react/features/analytics';
11
+import { toggleDialog } from '../../react/features/base/dialog';
10 12
 import { KeyboardShortcutsDialog }
11 13
     from '../../react/features/keyboard-shortcuts';
12 14
 import { SpeakerStats } from '../../react/features/speaker-stats';
13 15
 
14
-const logger = require('jitsi-meet-logger').getLogger(__filename);
16
+const logger = Logger.getLogger(__filename);
15 17
 
16 18
 /**
17 19
  * Map of shortcuts. When a shortcut is registered it enters the mapping.

+ 2
- 2
modules/remotecontrol/Controller.js View File

@@ -5,7 +5,7 @@ import { getLogger } from 'jitsi-meet-logger';
5 5
 import {
6 6
     JitsiConferenceEvents
7 7
 } from '../../react/features/base/lib-jitsi-meet';
8
-import * as KeyCodes from '../keycode/keycode';
8
+import UIEvents from '../../service/UI/UIEvents';
9 9
 import {
10 10
     EVENTS,
11 11
     PERMISSIONS_ACTIONS,
@@ -13,7 +13,7 @@ import {
13 13
 } from '../../service/remotecontrol/Constants';
14 14
 import * as RemoteControlEvents
15 15
     from '../../service/remotecontrol/RemoteControlEvents';
16
-import UIEvents from '../../service/UI/UIEvents';
16
+import * as KeyCodes from '../keycode/keycode';
17 17
 
18 18
 import RemoteControlParticipant from './RemoteControlParticipant';
19 19
 

+ 3
- 2
modules/transport/index.js View File

@@ -1,9 +1,10 @@
1 1
 // FIXME: change to '../API' when we update to webpack2. If we do this now all
2 2
 // files from API modules will be included in external_api.js.
3
-import { API_ID } from '../API/constants';
3
+import { PostMessageTransportBackend, Transport } from 'js-utils/transport';
4
+
4 5
 import { getJitsiMeetGlobalNS } from '../../react/features/base/util';
6
+import { API_ID } from '../API/constants';
5 7
 
6
-import { PostMessageTransportBackend, Transport } from 'js-utils/transport';
7 8
 
8 9
 export {
9 10
     PostMessageTransportBackend,

+ 530
- 52
package-lock.json View File

@@ -4947,6 +4947,102 @@
4947 4947
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
4948 4948
       "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
4949 4949
     },
4950
+    "array.prototype.flat": {
4951
+      "version": "1.2.3",
4952
+      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
4953
+      "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
4954
+      "dev": true,
4955
+      "requires": {
4956
+        "define-properties": "^1.1.3",
4957
+        "es-abstract": "^1.17.0-next.1"
4958
+      },
4959
+      "dependencies": {
4960
+        "define-properties": {
4961
+          "version": "1.1.3",
4962
+          "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
4963
+          "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
4964
+          "dev": true,
4965
+          "requires": {
4966
+            "object-keys": "^1.0.12"
4967
+          }
4968
+        },
4969
+        "es-abstract": {
4970
+          "version": "1.17.5",
4971
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
4972
+          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
4973
+          "dev": true,
4974
+          "requires": {
4975
+            "es-to-primitive": "^1.2.1",
4976
+            "function-bind": "^1.1.1",
4977
+            "has": "^1.0.3",
4978
+            "has-symbols": "^1.0.1",
4979
+            "is-callable": "^1.1.5",
4980
+            "is-regex": "^1.0.5",
4981
+            "object-inspect": "^1.7.0",
4982
+            "object-keys": "^1.1.1",
4983
+            "object.assign": "^4.1.0",
4984
+            "string.prototype.trimleft": "^2.1.1",
4985
+            "string.prototype.trimright": "^2.1.1"
4986
+          }
4987
+        },
4988
+        "es-to-primitive": {
4989
+          "version": "1.2.1",
4990
+          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
4991
+          "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
4992
+          "dev": true,
4993
+          "requires": {
4994
+            "is-callable": "^1.1.4",
4995
+            "is-date-object": "^1.0.1",
4996
+            "is-symbol": "^1.0.2"
4997
+          }
4998
+        },
4999
+        "has": {
5000
+          "version": "1.0.3",
5001
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
5002
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
5003
+          "dev": true,
5004
+          "requires": {
5005
+            "function-bind": "^1.1.1"
5006
+          }
5007
+        },
5008
+        "has-symbols": {
5009
+          "version": "1.0.1",
5010
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
5011
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
5012
+          "dev": true
5013
+        },
5014
+        "is-callable": {
5015
+          "version": "1.1.5",
5016
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
5017
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
5018
+          "dev": true
5019
+        },
5020
+        "is-regex": {
5021
+          "version": "1.0.5",
5022
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
5023
+          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
5024
+          "dev": true,
5025
+          "requires": {
5026
+            "has": "^1.0.3"
5027
+          }
5028
+        },
5029
+        "is-symbol": {
5030
+          "version": "1.0.3",
5031
+          "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
5032
+          "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
5033
+          "dev": true,
5034
+          "requires": {
5035
+            "has-symbols": "^1.0.1"
5036
+          }
5037
+        },
5038
+        "object-keys": {
5039
+          "version": "1.1.1",
5040
+          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
5041
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
5042
+          "dev": true
5043
+        }
5044
+      }
5045
+    },
4950 5046
     "arrify": {
4951 5047
       "version": "1.0.1",
4952 5048
       "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
@@ -7613,8 +7709,8 @@
7613 7709
       }
7614 7710
     },
7615 7711
     "eslint-config-jitsi": {
7616
-      "version": "github:jitsi/eslint-config-jitsi#5f9fe4fd00be471ab6f5d06f77ffc90bba0853e8",
7617
-      "from": "github:jitsi/eslint-config-jitsi#1.0.1",
7712
+      "version": "github:jitsi/eslint-config-jitsi#f292fbc07689eb3dbeb81c074accff25b448b074",
7713
+      "from": "github:jitsi/eslint-config-jitsi#1.0.3",
7618 7714
       "dev": true
7619 7715
     },
7620 7716
     "eslint-import-resolver-node": {
@@ -7627,46 +7723,6 @@
7627 7723
         "resolve": "^1.5.0"
7628 7724
       }
7629 7725
     },
7630
-    "eslint-module-utils": {
7631
-      "version": "2.2.0",
7632
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz",
7633
-      "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
7634
-      "dev": true,
7635
-      "requires": {
7636
-        "debug": "^2.6.8",
7637
-        "pkg-dir": "^1.0.0"
7638
-      },
7639
-      "dependencies": {
7640
-        "find-up": {
7641
-          "version": "1.1.2",
7642
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
7643
-          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
7644
-          "dev": true,
7645
-          "requires": {
7646
-            "path-exists": "^2.0.0",
7647
-            "pinkie-promise": "^2.0.0"
7648
-          }
7649
-        },
7650
-        "path-exists": {
7651
-          "version": "2.1.0",
7652
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
7653
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
7654
-          "dev": true,
7655
-          "requires": {
7656
-            "pinkie-promise": "^2.0.0"
7657
-          }
7658
-        },
7659
-        "pkg-dir": {
7660
-          "version": "1.0.0",
7661
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
7662
-          "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
7663
-          "dev": true,
7664
-          "requires": {
7665
-            "find-up": "^1.0.0"
7666
-          }
7667
-        }
7668
-      }
7669
-    },
7670 7726
     "eslint-plugin-flowtype": {
7671 7727
       "version": "2.50.3",
7672 7728
       "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz",
@@ -7685,21 +7741,23 @@
7685 7741
       }
7686 7742
     },
7687 7743
     "eslint-plugin-import": {
7688
-      "version": "2.14.0",
7689
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz",
7690
-      "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==",
7744
+      "version": "2.20.2",
7745
+      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz",
7746
+      "integrity": "sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg==",
7691 7747
       "dev": true,
7692 7748
       "requires": {
7749
+        "array-includes": "^3.0.3",
7750
+        "array.prototype.flat": "^1.2.1",
7693 7751
         "contains-path": "^0.1.0",
7694
-        "debug": "^2.6.8",
7752
+        "debug": "^2.6.9",
7695 7753
         "doctrine": "1.5.0",
7696
-        "eslint-import-resolver-node": "^0.3.1",
7697
-        "eslint-module-utils": "^2.2.0",
7698
-        "has": "^1.0.1",
7699
-        "lodash": "^4.17.4",
7700
-        "minimatch": "^3.0.3",
7754
+        "eslint-import-resolver-node": "^0.3.2",
7755
+        "eslint-module-utils": "^2.4.1",
7756
+        "has": "^1.0.3",
7757
+        "minimatch": "^3.0.4",
7758
+        "object.values": "^1.1.0",
7701 7759
         "read-pkg-up": "^2.0.0",
7702
-        "resolve": "^1.6.0"
7760
+        "resolve": "^1.12.0"
7703 7761
       },
7704 7762
       "dependencies": {
7705 7763
         "doctrine": {
@@ -7712,11 +7770,39 @@
7712 7770
             "isarray": "^1.0.0"
7713 7771
           }
7714 7772
         },
7773
+        "eslint-module-utils": {
7774
+          "version": "2.6.0",
7775
+          "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
7776
+          "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
7777
+          "dev": true,
7778
+          "requires": {
7779
+            "debug": "^2.6.9",
7780
+            "pkg-dir": "^2.0.0"
7781
+          }
7782
+        },
7783
+        "has": {
7784
+          "version": "1.0.3",
7785
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
7786
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
7787
+          "dev": true,
7788
+          "requires": {
7789
+            "function-bind": "^1.1.1"
7790
+          }
7791
+        },
7715 7792
         "isarray": {
7716 7793
           "version": "1.0.0",
7717 7794
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
7718 7795
           "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
7719 7796
           "dev": true
7797
+        },
7798
+        "resolve": {
7799
+          "version": "1.17.0",
7800
+          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
7801
+          "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
7802
+          "dev": true,
7803
+          "requires": {
7804
+            "path-parse": "^1.0.6"
7805
+          }
7720 7806
         }
7721 7807
       }
7722 7808
     },
@@ -12598,6 +12684,12 @@
12598 12684
         }
12599 12685
       }
12600 12686
     },
12687
+    "object-inspect": {
12688
+      "version": "1.7.0",
12689
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
12690
+      "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
12691
+      "dev": true
12692
+    },
12601 12693
     "object-is": {
12602 12694
       "version": "1.0.1",
12603 12695
       "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
@@ -16713,6 +16805,392 @@
16713 16805
         }
16714 16806
       }
16715 16807
     },
16808
+    "string.prototype.trimend": {
16809
+      "version": "1.0.1",
16810
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
16811
+      "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
16812
+      "dev": true,
16813
+      "requires": {
16814
+        "define-properties": "^1.1.3",
16815
+        "es-abstract": "^1.17.5"
16816
+      },
16817
+      "dependencies": {
16818
+        "define-properties": {
16819
+          "version": "1.1.3",
16820
+          "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
16821
+          "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
16822
+          "dev": true,
16823
+          "requires": {
16824
+            "object-keys": "^1.0.12"
16825
+          }
16826
+        },
16827
+        "es-abstract": {
16828
+          "version": "1.17.5",
16829
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
16830
+          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
16831
+          "dev": true,
16832
+          "requires": {
16833
+            "es-to-primitive": "^1.2.1",
16834
+            "function-bind": "^1.1.1",
16835
+            "has": "^1.0.3",
16836
+            "has-symbols": "^1.0.1",
16837
+            "is-callable": "^1.1.5",
16838
+            "is-regex": "^1.0.5",
16839
+            "object-inspect": "^1.7.0",
16840
+            "object-keys": "^1.1.1",
16841
+            "object.assign": "^4.1.0",
16842
+            "string.prototype.trimleft": "^2.1.1",
16843
+            "string.prototype.trimright": "^2.1.1"
16844
+          }
16845
+        },
16846
+        "es-to-primitive": {
16847
+          "version": "1.2.1",
16848
+          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
16849
+          "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
16850
+          "dev": true,
16851
+          "requires": {
16852
+            "is-callable": "^1.1.4",
16853
+            "is-date-object": "^1.0.1",
16854
+            "is-symbol": "^1.0.2"
16855
+          }
16856
+        },
16857
+        "has": {
16858
+          "version": "1.0.3",
16859
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
16860
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
16861
+          "dev": true,
16862
+          "requires": {
16863
+            "function-bind": "^1.1.1"
16864
+          }
16865
+        },
16866
+        "has-symbols": {
16867
+          "version": "1.0.1",
16868
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
16869
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
16870
+          "dev": true
16871
+        },
16872
+        "is-callable": {
16873
+          "version": "1.1.5",
16874
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
16875
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
16876
+          "dev": true
16877
+        },
16878
+        "is-regex": {
16879
+          "version": "1.0.5",
16880
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
16881
+          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
16882
+          "dev": true,
16883
+          "requires": {
16884
+            "has": "^1.0.3"
16885
+          }
16886
+        },
16887
+        "is-symbol": {
16888
+          "version": "1.0.3",
16889
+          "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
16890
+          "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
16891
+          "dev": true,
16892
+          "requires": {
16893
+            "has-symbols": "^1.0.1"
16894
+          }
16895
+        },
16896
+        "object-keys": {
16897
+          "version": "1.1.1",
16898
+          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
16899
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
16900
+          "dev": true
16901
+        }
16902
+      }
16903
+    },
16904
+    "string.prototype.trimleft": {
16905
+      "version": "2.1.2",
16906
+      "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
16907
+      "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
16908
+      "dev": true,
16909
+      "requires": {
16910
+        "define-properties": "^1.1.3",
16911
+        "es-abstract": "^1.17.5",
16912
+        "string.prototype.trimstart": "^1.0.0"
16913
+      },
16914
+      "dependencies": {
16915
+        "define-properties": {
16916
+          "version": "1.1.3",
16917
+          "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
16918
+          "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
16919
+          "dev": true,
16920
+          "requires": {
16921
+            "object-keys": "^1.0.12"
16922
+          }
16923
+        },
16924
+        "es-abstract": {
16925
+          "version": "1.17.5",
16926
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
16927
+          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
16928
+          "dev": true,
16929
+          "requires": {
16930
+            "es-to-primitive": "^1.2.1",
16931
+            "function-bind": "^1.1.1",
16932
+            "has": "^1.0.3",
16933
+            "has-symbols": "^1.0.1",
16934
+            "is-callable": "^1.1.5",
16935
+            "is-regex": "^1.0.5",
16936
+            "object-inspect": "^1.7.0",
16937
+            "object-keys": "^1.1.1",
16938
+            "object.assign": "^4.1.0",
16939
+            "string.prototype.trimleft": "^2.1.1",
16940
+            "string.prototype.trimright": "^2.1.1"
16941
+          }
16942
+        },
16943
+        "es-to-primitive": {
16944
+          "version": "1.2.1",
16945
+          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
16946
+          "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
16947
+          "dev": true,
16948
+          "requires": {
16949
+            "is-callable": "^1.1.4",
16950
+            "is-date-object": "^1.0.1",
16951
+            "is-symbol": "^1.0.2"
16952
+          }
16953
+        },
16954
+        "has": {
16955
+          "version": "1.0.3",
16956
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
16957
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
16958
+          "dev": true,
16959
+          "requires": {
16960
+            "function-bind": "^1.1.1"
16961
+          }
16962
+        },
16963
+        "has-symbols": {
16964
+          "version": "1.0.1",
16965
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
16966
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
16967
+          "dev": true
16968
+        },
16969
+        "is-callable": {
16970
+          "version": "1.1.5",
16971
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
16972
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
16973
+          "dev": true
16974
+        },
16975
+        "is-regex": {
16976
+          "version": "1.0.5",
16977
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
16978
+          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
16979
+          "dev": true,
16980
+          "requires": {
16981
+            "has": "^1.0.3"
16982
+          }
16983
+        },
16984
+        "is-symbol": {
16985
+          "version": "1.0.3",
16986
+          "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
16987
+          "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
16988
+          "dev": true,
16989
+          "requires": {
16990
+            "has-symbols": "^1.0.1"
16991
+          }
16992
+        },
16993
+        "object-keys": {
16994
+          "version": "1.1.1",
16995
+          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
16996
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
16997
+          "dev": true
16998
+        }
16999
+      }
17000
+    },
17001
+    "string.prototype.trimright": {
17002
+      "version": "2.1.2",
17003
+      "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
17004
+      "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
17005
+      "dev": true,
17006
+      "requires": {
17007
+        "define-properties": "^1.1.3",
17008
+        "es-abstract": "^1.17.5",
17009
+        "string.prototype.trimend": "^1.0.0"
17010
+      },
17011
+      "dependencies": {
17012
+        "define-properties": {
17013
+          "version": "1.1.3",
17014
+          "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
17015
+          "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
17016
+          "dev": true,
17017
+          "requires": {
17018
+            "object-keys": "^1.0.12"
17019
+          }
17020
+        },
17021
+        "es-abstract": {
17022
+          "version": "1.17.5",
17023
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
17024
+          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
17025
+          "dev": true,
17026
+          "requires": {
17027
+            "es-to-primitive": "^1.2.1",
17028
+            "function-bind": "^1.1.1",
17029
+            "has": "^1.0.3",
17030
+            "has-symbols": "^1.0.1",
17031
+            "is-callable": "^1.1.5",
17032
+            "is-regex": "^1.0.5",
17033
+            "object-inspect": "^1.7.0",
17034
+            "object-keys": "^1.1.1",
17035
+            "object.assign": "^4.1.0",
17036
+            "string.prototype.trimleft": "^2.1.1",
17037
+            "string.prototype.trimright": "^2.1.1"
17038
+          }
17039
+        },
17040
+        "es-to-primitive": {
17041
+          "version": "1.2.1",
17042
+          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
17043
+          "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
17044
+          "dev": true,
17045
+          "requires": {
17046
+            "is-callable": "^1.1.4",
17047
+            "is-date-object": "^1.0.1",
17048
+            "is-symbol": "^1.0.2"
17049
+          }
17050
+        },
17051
+        "has": {
17052
+          "version": "1.0.3",
17053
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
17054
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
17055
+          "dev": true,
17056
+          "requires": {
17057
+            "function-bind": "^1.1.1"
17058
+          }
17059
+        },
17060
+        "has-symbols": {
17061
+          "version": "1.0.1",
17062
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
17063
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
17064
+          "dev": true
17065
+        },
17066
+        "is-callable": {
17067
+          "version": "1.1.5",
17068
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
17069
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
17070
+          "dev": true
17071
+        },
17072
+        "is-regex": {
17073
+          "version": "1.0.5",
17074
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
17075
+          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
17076
+          "dev": true,
17077
+          "requires": {
17078
+            "has": "^1.0.3"
17079
+          }
17080
+        },
17081
+        "is-symbol": {
17082
+          "version": "1.0.3",
17083
+          "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
17084
+          "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
17085
+          "dev": true,
17086
+          "requires": {
17087
+            "has-symbols": "^1.0.1"
17088
+          }
17089
+        },
17090
+        "object-keys": {
17091
+          "version": "1.1.1",
17092
+          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
17093
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
17094
+          "dev": true
17095
+        }
17096
+      }
17097
+    },
17098
+    "string.prototype.trimstart": {
17099
+      "version": "1.0.1",
17100
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
17101
+      "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
17102
+      "dev": true,
17103
+      "requires": {
17104
+        "define-properties": "^1.1.3",
17105
+        "es-abstract": "^1.17.5"
17106
+      },
17107
+      "dependencies": {
17108
+        "define-properties": {
17109
+          "version": "1.1.3",
17110
+          "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
17111
+          "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
17112
+          "dev": true,
17113
+          "requires": {
17114
+            "object-keys": "^1.0.12"
17115
+          }
17116
+        },
17117
+        "es-abstract": {
17118
+          "version": "1.17.5",
17119
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
17120
+          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
17121
+          "dev": true,
17122
+          "requires": {
17123
+            "es-to-primitive": "^1.2.1",
17124
+            "function-bind": "^1.1.1",
17125
+            "has": "^1.0.3",
17126
+            "has-symbols": "^1.0.1",
17127
+            "is-callable": "^1.1.5",
17128
+            "is-regex": "^1.0.5",
17129
+            "object-inspect": "^1.7.0",
17130
+            "object-keys": "^1.1.1",
17131
+            "object.assign": "^4.1.0",
17132
+            "string.prototype.trimleft": "^2.1.1",
17133
+            "string.prototype.trimright": "^2.1.1"
17134
+          }
17135
+        },
17136
+        "es-to-primitive": {
17137
+          "version": "1.2.1",
17138
+          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
17139
+          "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
17140
+          "dev": true,
17141
+          "requires": {
17142
+            "is-callable": "^1.1.4",
17143
+            "is-date-object": "^1.0.1",
17144
+            "is-symbol": "^1.0.2"
17145
+          }
17146
+        },
17147
+        "has": {
17148
+          "version": "1.0.3",
17149
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
17150
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
17151
+          "dev": true,
17152
+          "requires": {
17153
+            "function-bind": "^1.1.1"
17154
+          }
17155
+        },
17156
+        "has-symbols": {
17157
+          "version": "1.0.1",
17158
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
17159
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
17160
+          "dev": true
17161
+        },
17162
+        "is-callable": {
17163
+          "version": "1.1.5",
17164
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
17165
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
17166
+          "dev": true
17167
+        },
17168
+        "is-regex": {
17169
+          "version": "1.0.5",
17170
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
17171
+          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
17172
+          "dev": true,
17173
+          "requires": {
17174
+            "has": "^1.0.3"
17175
+          }
17176
+        },
17177
+        "is-symbol": {
17178
+          "version": "1.0.3",
17179
+          "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
17180
+          "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
17181
+          "dev": true,
17182
+          "requires": {
17183
+            "has-symbols": "^1.0.1"
17184
+          }
17185
+        },
17186
+        "object-keys": {
17187
+          "version": "1.1.1",
17188
+          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
17189
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
17190
+          "dev": true
17191
+        }
17192
+      }
17193
+    },
16716 17194
     "string_decoder": {
16717 17195
       "version": "0.10.31",
16718 17196
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",

+ 2
- 2
package.json View File

@@ -113,9 +113,9 @@
113 113
     "clean-css": "3.4.25",
114 114
     "css-loader": "0.28.7",
115 115
     "eslint": "5.6.1",
116
-    "eslint-config-jitsi": "github:jitsi/eslint-config-jitsi#1.0.1",
116
+    "eslint-config-jitsi": "github:jitsi/eslint-config-jitsi#1.0.3",
117 117
     "eslint-plugin-flowtype": "2.50.3",
118
-    "eslint-plugin-import": "2.14.0",
118
+    "eslint-plugin-import": "2.20.2",
119 119
     "eslint-plugin-jsdoc": "3.8.0",
120 120
     "eslint-plugin-react": "7.11.1",
121 121
     "eslint-plugin-react-native": "3.3.0",

+ 1
- 1
react/features/always-on-top/HangupButton.js View File

@@ -2,8 +2,8 @@
2 2
 
3 3
 // We need to reference these files directly to avoid loading things that are not available
4 4
 // in this environment (e.g. JitsiMeetJS or interfaceConfig)
5
-import AbstractHangupButton from '../base/toolbox/components/AbstractHangupButton';
6 5
 import type { Props } from '../base/toolbox/components/AbstractButton';
6
+import AbstractHangupButton from '../base/toolbox/components/AbstractHangupButton';
7 7
 
8 8
 const { api } = window.alwaysOnTop;
9 9
 

+ 1
- 1
react/features/always-on-top/VideoMuteButton.js View File

@@ -2,8 +2,8 @@
2 2
 
3 3
 // We need to reference these files directly to avoid loading things that are not available
4 4
 // in this environment (e.g. JitsiMeetJS or interfaceConfig)
5
-import AbstractVideoMuteButton from '../base/toolbox/components/AbstractVideoMuteButton';
6 5
 import type { Props } from '../base/toolbox/components/AbstractButton';
6
+import AbstractVideoMuteButton from '../base/toolbox/components/AbstractVideoMuteButton';
7 7
 
8 8
 const { api } = window.alwaysOnTop;
9 9
 

+ 5
- 4
react/features/analytics/functions.js View File

@@ -1,15 +1,16 @@
1 1
 // @flow
2 2
 
3
+import {
4
+    checkChromeExtensionsInstalled,
5
+    isMobileBrowser
6
+} from '../base/environment/utils';
3 7
 import JitsiMeetJS, {
4 8
     analytics,
5 9
     browser,
6 10
     isAnalyticsEnabled
7 11
 } from '../base/lib-jitsi-meet';
8 12
 import { getJitsiMeetGlobalNS, loadScript } from '../base/util';
9
-import {
10
-    checkChromeExtensionsInstalled,
11
-    isMobileBrowser
12
-} from '../base/environment/utils';
13
+
13 14
 import { AmplitudeHandler, MatomoHandler } from './handlers';
14 15
 import logger from './logger';
15 16
 

+ 1
- 1
react/features/analytics/middleware.js View File

@@ -16,8 +16,8 @@ import {
16 16
     TRACK_UPDATED
17 17
 } from '../base/tracks';
18 18
 
19
-import { UPDATE_LOCAL_TRACKS_DURATION } from './actionTypes';
20 19
 import { createLocalTracksDurationEvent, createNetworkInfoEvent } from './AnalyticsEvents';
20
+import { UPDATE_LOCAL_TRACKS_DURATION } from './actionTypes';
21 21
 import { createHandlers, initAnalytics, resetAnalytics, sendAnalytics } from './functions';
22 22
 
23 23
 /**

+ 1
- 3
react/features/app/components/AbstractApp.js View File

@@ -3,13 +3,11 @@
3 3
 import React, { Fragment } from 'react';
4 4
 
5 5
 import { BaseApp } from '../../base/app';
6
+import '../../base/lastn'; // Register lastN middleware
6 7
 import { toURLString } from '../../base/util';
7 8
 import '../../follow-me';
8 9
 import { OverlayContainer } from '../../overlay';
9
-
10
-import '../../base/lastn'; // Register lastN middleware
11 10
 import '../../rejoin'; // Enable rejoin analytics
12
-
13 11
 import { appNavigate } from '../actions';
14 12
 import { getDefaultURL } from '../functions';
15 13
 

+ 1
- 1
react/features/app/components/App.native.js View File

@@ -23,8 +23,8 @@ import '../../mobile/picture-in-picture';
23 23
 import '../../mobile/proximity';
24 24
 import '../../mobile/wake-lock';
25 25
 import '../../mobile/watchos';
26
-
27 26
 import logger from '../logger';
27
+
28 28
 import { AbstractApp } from './AbstractApp';
29 29
 import type { Props as AbstractAppProps } from './AbstractApp';
30 30
 

+ 1
- 1
react/features/app/getRouteToRender.js View File

@@ -4,8 +4,8 @@ import { generateRoomWithoutSeparator } from 'js-utils/random';
4 4
 import type { Component } from 'react';
5 5
 
6 6
 import { isRoomValid } from '../base/conference';
7
-import { toState } from '../base/redux';
8 7
 import { isSupportedBrowser } from '../base/environment';
8
+import { toState } from '../base/redux';
9 9
 import { Conference } from '../conference';
10 10
 import { getDeepLinkingPage } from '../deep-linking';
11 11
 import { UnsupportedDesktopBrowser } from '../unsupported-browser';

+ 0
- 1
react/features/app/middleware.js View File

@@ -4,7 +4,6 @@ import {
4 4
     createConnectionEvent,
5 5
     sendAnalytics
6 6
 } from '../analytics';
7
-
8 7
 import { SET_ROOM } from '../base/conference';
9 8
 import {
10 9
     CONNECTION_ESTABLISHED,

+ 0
- 1
react/features/authentication/components/LoginDialog.native.js View File

@@ -18,7 +18,6 @@ import {
18 18
 import { translate } from '../../base/i18n';
19 19
 import { JitsiConnectionErrors } from '../../base/lib-jitsi-meet';
20 20
 import type { StyleType } from '../../base/styles';
21
-
22 21
 import { authenticateAndUpgradeRole, cancelLogin } from '../actions';
23 22
 
24 23
 // Register styles.

+ 0
- 1
react/features/authentication/components/WaitForOwnerDialog.native.js View File

@@ -6,7 +6,6 @@ import type { Dispatch } from 'redux';
6 6
 import { ConfirmDialog } from '../../base/dialog';
7 7
 import { translate } from '../../base/i18n';
8 8
 import { connect } from '../../base/redux';
9
-
10 9
 import { cancelWaitForOwner, _openLoginDialog } from '../actions';
11 10
 
12 11
 /**

+ 5
- 5
react/features/authentication/middleware.js View File

@@ -16,17 +16,17 @@ import {
16 16
 } from '../base/lib-jitsi-meet';
17 17
 import { MiddlewareRegistry } from '../base/redux';
18 18
 
19
+import {
20
+    CANCEL_LOGIN,
21
+    STOP_WAIT_FOR_OWNER,
22
+    WAIT_FOR_OWNER
23
+} from './actionTypes';
19 24
 import {
20 25
     _openLoginDialog,
21 26
     _openWaitForOwnerDialog,
22 27
     stopWaitForOwner,
23 28
     waitForOwner
24 29
 } from './actions';
25
-import {
26
-    CANCEL_LOGIN,
27
-    STOP_WAIT_FOR_OWNER,
28
-    WAIT_FOR_OWNER
29
-} from './actionTypes';
30 30
 import { LoginDialog, WaitForOwnerDialog } from './components';
31 31
 
32 32
 /**

+ 2
- 2
react/features/base/audio-only/actions.js View File

@@ -1,13 +1,13 @@
1 1
 // @flow
2 2
 
3
-import UIEvents from '../../../../service/UI/UIEvents';
3
+import type { Dispatch } from 'redux';
4 4
 
5
+import UIEvents from '../../../../service/UI/UIEvents';
5 6
 import { createAudioOnlyChangedEvent, sendAnalytics } from '../../analytics';
6 7
 
7 8
 import { SET_AUDIO_ONLY } from './actionTypes';
8 9
 import logger from './logger';
9 10
 
10
-import type { Dispatch } from 'redux';
11 11
 
12 12
 declare var APP: Object;
13 13
 

+ 0
- 1
react/features/base/avatar/components/Avatar.js View File

@@ -5,7 +5,6 @@ import React, { PureComponent } from 'react';
5 5
 import { IconShareDesktop } from '../../icons';
6 6
 import { getParticipantById } from '../../participants';
7 7
 import { connect } from '../../redux';
8
-
9 8
 import { getAvatarColor, getInitials } from '../functions';
10 9
 
11 10
 import { StatelessAvatar } from '.';

+ 2
- 3
react/features/base/avatar/components/native/StatelessAvatar.js View File

@@ -5,11 +5,12 @@ import { Image, Text, View } from 'react-native';
5 5
 
6 6
 import { Icon } from '../../../icons';
7 7
 import { type StyleType } from '../../../styles';
8
-
9 8
 import AbstractStatelessAvatar, { type Props as AbstractProps } from '../AbstractStatelessAvatar';
10 9
 
11 10
 import styles from './styles';
12 11
 
12
+const DEFAULT_AVATAR = require('../../../../../../images/avatar.png');
13
+
13 14
 type Props = AbstractProps & {
14 15
 
15 16
     /**
@@ -23,8 +24,6 @@ type Props = AbstractProps & {
23 24
     style?: StyleType
24 25
 };
25 26
 
26
-const DEFAULT_AVATAR = require('../../../../../../images/avatar.png');
27
-
28 27
 /**
29 28
  * Implements a stateless avatar component that renders an avatar purely from what gets passed through
30 29
  * props.

+ 0
- 1
react/features/base/avatar/components/web/StatelessAvatar.js View File

@@ -3,7 +3,6 @@
3 3
 import React from 'react';
4 4
 
5 5
 import { Icon } from '../../../icons';
6
-
7 6
 import AbstractStatelessAvatar, { type Props as AbstractProps } from '../AbstractStatelessAvatar';
8 7
 
9 8
 type Props = AbstractProps & {

+ 1
- 1
react/features/base/color-scheme/middleware.js View File

@@ -2,8 +2,8 @@
2 2
 
3 3
 import { MiddlewareRegistry } from '../redux';
4 4
 
5
-import { SET_COLOR_SCHEME } from './actionTypes';
6 5
 import ColorSchemeRegistry from './ColorSchemeRegistry';
6
+import { SET_COLOR_SCHEME } from './actionTypes';
7 7
 
8 8
 /**
9 9
  * The middleware of the feature {@code base/color-scheme}.

+ 0
- 1
react/features/base/conference/actions.js View File

@@ -8,7 +8,6 @@ import {
8 8
 } from '../../analytics';
9 9
 import { getName } from '../../app';
10 10
 import { endpointMessageReceived } from '../../subtitles';
11
-
12 11
 import { JITSI_CONNECTION_CONFERENCE_KEY } from '../connection';
13 12
 import { JitsiConferenceEvents } from '../lib-jitsi-meet';
14 13
 import { setAudioMuted, setVideoMuted } from '../media';

+ 8
- 9
react/features/base/conference/middleware.js View File

@@ -1,7 +1,5 @@
1 1
 // @flow
2 2
 
3
-import { openDisplayNamePrompt } from '../../display-name';
4
-
5 3
 import {
6 4
     ACTION_PINNED,
7 5
     ACTION_UNPINNED,
@@ -9,8 +7,10 @@ import {
9 7
     createPinnedEvent,
10 8
     sendAnalytics
11 9
 } from '../../analytics';
10
+import { openDisplayNamePrompt } from '../../display-name';
12 11
 import { CONNECTION_ESTABLISHED, CONNECTION_FAILED } from '../connection';
13 12
 import { JitsiConferenceErrors } from '../lib-jitsi-meet';
13
+import { MEDIA_TYPE } from '../media';
14 14
 import {
15 15
     getLocalParticipant,
16 16
     getParticipantById,
@@ -21,12 +21,6 @@ import {
21 21
 import { MiddlewareRegistry, StateListenerRegistry } from '../redux';
22 22
 import { TRACK_ADDED, TRACK_REMOVED } from '../tracks';
23 23
 
24
-import {
25
-    conferenceFailed,
26
-    conferenceWillLeave,
27
-    createConference,
28
-    setSubject
29
-} from './actions';
30 24
 import {
31 25
     CONFERENCE_FAILED,
32 26
     CONFERENCE_JOINED,
@@ -37,6 +31,12 @@ import {
37 31
     SET_PENDING_SUBJECT_CHANGE,
38 32
     SET_ROOM
39 33
 } from './actionTypes';
34
+import {
35
+    conferenceFailed,
36
+    conferenceWillLeave,
37
+    createConference,
38
+    setSubject
39
+} from './actions';
40 40
 import {
41 41
     _addLocalTracksToConference,
42 42
     _removeLocalTracksFromConference,
@@ -44,7 +44,6 @@ import {
44 44
     getCurrentConference
45 45
 } from './functions';
46 46
 import logger from './logger';
47
-import { MEDIA_TYPE } from '../media';
48 47
 
49 48
 declare var APP: Object;
50 49
 

+ 1
- 1
react/features/base/conference/reducer.js View File

@@ -1,9 +1,9 @@
1 1
 // @flow
2 2
 
3
+import { LOCKED_LOCALLY, LOCKED_REMOTELY } from '../../room-lock';
3 4
 import { CONNECTION_WILL_CONNECT, SET_LOCATION_URL } from '../connection';
4 5
 import { JitsiConferenceErrors } from '../lib-jitsi-meet';
5 6
 import { assign, ReducerRegistry, set } from '../redux';
6
-import { LOCKED_LOCALLY, LOCKED_REMOTELY } from '../../room-lock';
7 7
 
8 8
 import {
9 9
     AUTH_STATUS_CHANGED,

+ 2
- 1
react/features/base/config/functions.any.js View File

@@ -3,10 +3,11 @@
3 3
 import { jitsiLocalStorage } from 'js-utils';
4 4
 import _ from 'lodash';
5 5
 
6
+import { parseURLParams } from '../util';
7
+
6 8
 import CONFIG_WHITELIST from './configWhitelist';
7 9
 import { _CONFIG_STORE_PREFIX } from './constants';
8 10
 import INTERFACE_CONFIG_WHITELIST from './interfaceConfigWhitelist';
9
-import { parseURLParams } from '../util';
10 11
 import logger from './logger';
11 12
 
12 13
 // XXX The function getRoomName is split out of

+ 0
- 1
react/features/base/connection/reducer.js View File

@@ -11,7 +11,6 @@ import {
11 11
     CONNECTION_WILL_CONNECT,
12 12
     SET_LOCATION_URL
13 13
 } from './actionTypes';
14
-
15 14
 import type { ConnectionFailedError } from './actions.native';
16 15
 
17 16
 /**

+ 1
- 1
react/features/base/devices/functions.js View File

@@ -1,8 +1,8 @@
1 1
 // @flow
2 2
 
3
-import { parseURLParams } from '../util';
4 3
 import JitsiMeetJS from '../lib-jitsi-meet';
5 4
 import { updateSettings } from '../settings';
5
+import { parseURLParams } from '../util';
6 6
 
7 7
 import logger from './logger';
8 8
 

+ 12
- 12
react/features/base/devices/middleware.js View File

@@ -1,16 +1,15 @@
1 1
 /* global APP */
2 2
 
3
-import { CONFERENCE_JOINED } from '../conference';
4
-import { processExternalDeviceRequest } from '../../device-selection';
5
-import { MiddlewareRegistry } from '../redux';
6 3
 import UIEvents from '../../../../service/UI/UIEvents';
4
+import { processExternalDeviceRequest } from '../../device-selection';
5
+import { showNotification, showWarningNotification } from '../../notifications';
6
+import { replaceAudioTrackById, replaceVideoTrackById, setDeviceStatusWarning } from '../../prejoin/actions';
7
+import { isPrejoinPageVisible } from '../../prejoin/functions';
8
+import { CONFERENCE_JOINED } from '../conference';
7 9
 import { JitsiTrackErrors } from '../lib-jitsi-meet';
10
+import { MiddlewareRegistry } from '../redux';
11
+import { updateSettings } from '../settings';
8 12
 
9
-import {
10
-    removePendingDeviceRequests,
11
-    setAudioInputDevice,
12
-    setVideoInputDevice
13
-} from './actions';
14 13
 import {
15 14
     CHECK_AND_NOTIFY_FOR_NEW_DEVICE,
16 15
     NOTIFY_CAMERA_ERROR,
@@ -18,10 +17,11 @@ import {
18 17
     SET_AUDIO_INPUT_DEVICE,
19 18
     SET_VIDEO_INPUT_DEVICE
20 19
 } from './actionTypes';
21
-import { replaceAudioTrackById, replaceVideoTrackById, setDeviceStatusWarning } from '../../prejoin/actions';
22
-import { isPrejoinPageVisible } from '../../prejoin/functions';
23
-import { showNotification, showWarningNotification } from '../../notifications';
24
-import { updateSettings } from '../settings';
20
+import {
21
+    removePendingDeviceRequests,
22
+    setAudioInputDevice,
23
+    setVideoInputDevice
24
+} from './actions';
25 25
 import { formatDeviceLabel, setAudioOutputDeviceId } from './functions';
26 26
 import logger from './logger';
27 27
 

+ 2
- 3
react/features/base/devices/reducer.js View File

@@ -1,3 +1,5 @@
1
+import { ReducerRegistry } from '../redux';
2
+
1 3
 import {
2 4
     ADD_PENDING_DEVICE_REQUEST,
3 5
     REMOVE_PENDING_DEVICE_REQUESTS,
@@ -6,9 +8,6 @@ import {
6 8
     UPDATE_DEVICE_LIST
7 9
 } from './actionTypes';
8 10
 import { groupDevicesByKind } from './functions';
9
-
10
-import { ReducerRegistry } from '../redux';
11
-
12 11
 import logger from './logger';
13 12
 
14 13
 const DEFAULT_STATE = {

+ 0
- 1
react/features/base/dialog/components/native/AlertDialog.js View File

@@ -5,7 +5,6 @@ import { Text } from 'react-native';
5 5
 
6 6
 import { translate } from '../../../i18n';
7 7
 import { connect } from '../../../redux';
8
-
9 8
 import { _abstractMapStateToProps } from '../../functions';
10 9
 
11 10
 import { type Props as AbstractProps } from './BaseDialog';

+ 1
- 1
react/features/base/dialog/components/native/BaseDialog.js View File

@@ -11,11 +11,11 @@ import {
11 11
 
12 12
 import { Icon, IconClose } from '../../../icons';
13 13
 import { StyleType } from '../../../styles';
14
-
15 14
 import AbstractDialog, {
16 15
     type Props as AbstractProps,
17 16
     type State
18 17
 } from '../AbstractDialog';
18
+
19 19
 import { brandedDialog as styles } from './styles';
20 20
 
21 21
 export type Props = AbstractProps & {

+ 0
- 1
react/features/base/dialog/components/native/ConfirmDialog.js View File

@@ -6,7 +6,6 @@ import { Text, TouchableOpacity } from 'react-native';
6 6
 import { translate } from '../../../i18n';
7 7
 import { connect } from '../../../redux';
8 8
 import { StyleType } from '../../../styles';
9
-
10 9
 import { _abstractMapStateToProps } from '../../functions';
11 10
 
12 11
 import { type Props as BaseProps } from './BaseDialog';

+ 0
- 1
react/features/base/dialog/components/native/CustomDialog.js View File

@@ -1,7 +1,6 @@
1 1
 // @flow
2 2
 
3 3
 import { connect } from '../../../redux';
4
-
5 4
 import { _abstractMapStateToProps } from '../../functions';
6 5
 
7 6
 import BaseDialog, { type Props } from './BaseDialog';

+ 0
- 1
react/features/base/dialog/components/native/CustomSubmitDialog.js View File

@@ -2,7 +2,6 @@
2 2
 
3 3
 import { translate } from '../../../i18n';
4 4
 import { connect } from '../../../redux';
5
-
6 5
 import { _abstractMapStateToProps } from '../../functions';
7 6
 
8 7
 import { type Props as BaseProps } from './BaseDialog';

+ 0
- 1
react/features/base/dialog/components/native/DialogContainer.js View File

@@ -1,5 +1,4 @@
1 1
 import { connect } from '../../../redux';
2
-
3 2
 import AbstractDialogContainer, {
4 3
     abstractMapStateToProps
5 4
 } from '../AbstractDialogContainer';

+ 0
- 2
react/features/base/dialog/components/native/InputDialog.js View File

@@ -6,9 +6,7 @@ import { View, Text, TextInput, TouchableOpacity } from 'react-native';
6 6
 import { translate } from '../../../i18n';
7 7
 import { connect } from '../../../redux';
8 8
 import { StyleType } from '../../../styles';
9
-
10 9
 import { _abstractMapStateToProps } from '../../functions';
11
-
12 10
 import { type State as AbstractState } from '../AbstractDialog';
13 11
 
14 12
 import BaseDialog, { type Props as BaseProps } from './BaseDialog';

+ 0
- 1
react/features/base/dialog/components/native/styles.js View File

@@ -4,7 +4,6 @@ import { StyleSheet } from 'react-native';
4 4
 
5 5
 import { ColorSchemeRegistry, schemeColor } from '../../../color-scheme';
6 6
 import { BoxModel, ColorPalette } from '../../../styles';
7
-
8 7
 import { PREFERRED_DIALOG_SIZE } from '../../constants';
9 8
 
10 9
 const BORDER_RADIUS = 5;

+ 1
- 1
react/features/base/dialog/components/web/Dialog.js View File

@@ -3,9 +3,9 @@
3 3
 import React from 'react';
4 4
 
5 5
 import { connect } from '../../../redux';
6
-
7 6
 import AbstractDialog from '../AbstractDialog';
8 7
 import type { Props as AbstractDialogProps, State } from '../AbstractDialog';
8
+
9 9
 import StatelessDialog from './StatelessDialog';
10 10
 
11 11
 /**

+ 0
- 1
react/features/base/dialog/components/web/DialogContainer.js View File

@@ -2,7 +2,6 @@ import { ModalTransition } from '@atlaskit/modal-dialog';
2 2
 import React from 'react';
3 3
 
4 4
 import { connect } from '../../../redux';
5
-
6 5
 import AbstractDialogContainer, {
7 6
     abstractMapStateToProps
8 7
 } from '../AbstractDialogContainer';

+ 0
- 1
react/features/base/dialog/components/web/DialogWithTabs.js View File

@@ -4,7 +4,6 @@ import Tabs from '@atlaskit/tabs';
4 4
 import React, { Component } from 'react';
5 5
 
6 6
 import { translate } from '../../../i18n/functions';
7
-
8 7
 import logger from '../../logger';
9 8
 
10 9
 import StatelessDialog from './StatelessDialog';

+ 0
- 1
react/features/base/dialog/components/web/StatelessDialog.js View File

@@ -6,7 +6,6 @@ import _ from 'lodash';
6 6
 import React, { Component } from 'react';
7 7
 
8 8
 import { translate } from '../../../i18n/functions';
9
-
10 9
 import type { DialogProps } from '../../constants';
11 10
 
12 11
 /**

+ 1
- 0
react/features/base/environment/environment.js View File

@@ -1,6 +1,7 @@
1 1
 // @flow
2 2
 
3 3
 import JitsiMeetJS from '../lib-jitsi-meet';
4
+
4 5
 import { isMobileBrowser } from './utils';
5 6
 
6 7
 const { browser } = JitsiMeetJS.util;

+ 1
- 1
react/features/base/i18n/i18next.js View File

@@ -1,9 +1,9 @@
1 1
 // @flow
2 2
 
3
+import COUNTRIES_RESOURCES from 'i18n-iso-countries/langs/en.json';
3 4
 import i18next from 'i18next';
4 5
 import I18nextXHRBackend from 'i18next-xhr-backend';
5 6
 
6
-import COUNTRIES_RESOURCES from 'i18n-iso-countries/langs/en.json';
7 7
 import LANGUAGES_RESOURCES from '../../../../lang/languages.json';
8 8
 import MAIN_RESOURCES from '../../../../lang/main.json';
9 9
 

+ 1
- 2
react/features/base/icons/components/Icon.js View File

@@ -2,9 +2,8 @@
2 2
 
3 3
 import React from 'react';
4 4
 
5
-import { styleTypeToObject } from '../../styles';
6
-
7 5
 import { Container } from '../../react/base';
6
+import { styleTypeToObject } from '../../styles';
8 7
 
9 8
 type Props = {
10 9
 

+ 1
- 1
react/features/base/jwt/middleware.js View File

@@ -10,8 +10,8 @@ import {
10 10
 } from '../participants';
11 11
 import { MiddlewareRegistry } from '../redux';
12 12
 
13
-import { setJWT } from './actions';
14 13
 import { SET_JWT } from './actionTypes';
14
+import { setJWT } from './actions';
15 15
 import { parseJWTFromURLParams } from './functions';
16 16
 
17 17
 declare var APP: Object;

+ 0
- 1
react/features/base/known-domains/middleware.js View File

@@ -1,7 +1,6 @@
1 1
 // @flow
2 2
 
3 3
 import { getDefaultURL } from '../../app';
4
-
5 4
 import { APP_WILL_MOUNT } from '../app';
6 5
 import { SET_ROOM } from '../conference';
7 6
 import { MiddlewareRegistry } from '../redux';

+ 0
- 1
react/features/base/lastn/middleware.js View File

@@ -4,7 +4,6 @@ import { SET_FILMSTRIP_ENABLED } from '../../filmstrip/actionTypes';
4 4
 import { SELECT_LARGE_VIDEO_PARTICIPANT } from '../../large-video/actionTypes';
5 5
 import { APP_STATE_CHANGED } from '../../mobile/background/actionTypes';
6 6
 import { SCREEN_SHARE_PARTICIPANTS_UPDATED, SET_TILE_VIEW } from '../../video-layout/actionTypes';
7
-
8 7
 import { SET_AUDIO_ONLY } from '../audio-only/actionTypes';
9 8
 import { CONFERENCE_JOINED } from '../conference/actionTypes';
10 9
 import { getParticipantById } from '../participants/functions';

+ 1
- 0
react/features/base/lib-jitsi-meet/functions.any.js View File

@@ -1,6 +1,7 @@
1 1
 // @flow
2 2
 
3 3
 import { toState } from '../redux';
4
+
4 5
 import JitsiMeetJS from './_';
5 6
 
6 7
 const JitsiConferenceErrors = JitsiMeetJS.errors.conference;

+ 1
- 0
react/features/base/lib-jitsi-meet/functions.native.js View File

@@ -3,6 +3,7 @@
3 3
 import { NativeModules } from 'react-native';
4 4
 
5 5
 import { loadScript } from '../util';
6
+
6 7
 import logger from './logger';
7 8
 
8 9
 export * from './functions.any';

+ 1
- 1
react/features/base/lib-jitsi-meet/middleware.js View File

@@ -6,8 +6,8 @@ import { PARTICIPANT_LEFT } from '../participants';
6 6
 import { MiddlewareRegistry } from '../redux';
7 7
 
8 8
 import JitsiMeetJS from './_';
9
-import { disposeLib, initLib } from './actions';
10 9
 import { LIB_WILL_INIT } from './actionTypes';
10
+import { disposeLib, initLib } from './actions';
11 11
 
12 12
 declare var APP: Object;
13 13
 

+ 1
- 0
react/features/base/lib-jitsi-meet/native/WiFiStats.js View File

@@ -1,4 +1,5 @@
1 1
 import { NativeModules } from 'react-native';
2
+
2 3
 import { getJitsiMeetGlobalNS } from '../../util';
3 4
 
4 5
 /**

+ 1
- 1
react/features/base/logging/functions.js View File

@@ -1,7 +1,7 @@
1 1
 // @flow
2 2
 
3
-import _ from 'lodash';
4 3
 import Logger, { getLogger as _getLogger } from 'jitsi-meet-logger';
4
+import _ from 'lodash';
5 5
 
6 6
 import LogTransport from './LogTransport';
7 7
 

+ 3
- 4
react/features/base/logging/middleware.js View File

@@ -9,13 +9,12 @@ import JitsiMeetJS, {
9 9
     JitsiConferenceEvents
10 10
 } from '../lib-jitsi-meet';
11 11
 import { MiddlewareRegistry } from '../redux';
12
-
13 12
 import { isTestModeEnabled } from '../testing';
14 13
 
15
-import { setLogCollector } from './actions';
16
-import { SET_LOGGING_CONFIG } from './actionTypes';
17
-import JitsiMeetLogStorage from './JitsiMeetLogStorage';
18 14
 import JitsiMeetInMemoryLogStorage from './JitsiMeetInMemoryLogStorage';
15
+import JitsiMeetLogStorage from './JitsiMeetLogStorage';
16
+import { SET_LOGGING_CONFIG } from './actionTypes';
17
+import { setLogCollector } from './actions';
19 18
 
20 19
 declare var APP: Object;
21 20
 

+ 1
- 0
react/features/base/logging/reducer.js View File

@@ -12,6 +12,7 @@ import { SET_LOG_COLLECTOR, SET_LOGGING_CONFIG } from './actionTypes';
12 12
  * }}
13 13
  */
14 14
 const DEFAULT_STATE = {
15
+    // eslint-disable-next-line
15 16
     config: require('../../../../logging_config.js'),
16 17
 
17 18
     /**

+ 1
- 1
react/features/base/media/components/AbstractVideoTrack.js View File

@@ -4,8 +4,8 @@ import React, { Component } from 'react';
4 4
 import type { Dispatch } from 'redux';
5 5
 
6 6
 import { trackVideoStarted } from '../../tracks';
7
-
8 7
 import { shouldRenderVideoTrack } from '../functions';
8
+
9 9
 import { Video } from './_';
10 10
 
11 11
 /**

+ 0
- 1
react/features/base/media/components/native/Audio.js View File

@@ -3,7 +3,6 @@
3 3
 import Sound from 'react-native-sound';
4 4
 
5 5
 import logger from '../../logger';
6
-
7 6
 import AbstractAudio from '../AbstractAudio';
8 7
 
9 8
 /**

+ 1
- 1
react/features/base/media/components/native/Video.js View File

@@ -5,8 +5,8 @@ import { RTCView } from 'react-native-webrtc';
5 5
 
6 6
 import { Pressable } from '../../../react';
7 7
 
8
-import styles from './styles';
9 8
 import VideoTransform from './VideoTransform';
9
+import styles from './styles';
10 10
 
11 11
 /**
12 12
  * The type of the React {@code Component} props of {@link Video}.

+ 1
- 1
react/features/base/media/components/native/VideoTrack.js View File

@@ -4,9 +4,9 @@ import React from 'react';
4 4
 import { View } from 'react-native';
5 5
 
6 6
 import { connect } from '../../../redux';
7
-
8 7
 import AbstractVideoTrack from '../AbstractVideoTrack';
9 8
 import type { Props } from '../AbstractVideoTrack';
9
+
10 10
 import styles from './styles';
11 11
 
12 12
 /**

+ 2
- 3
react/features/base/media/components/native/VideoTransform.js View File

@@ -1,14 +1,13 @@
1 1
 // @flow
2 2
 
3
+import type { PanResponderInstance } from 'PanResponder';
3 4
 import React, { Component } from 'react';
4 5
 import { PanResponder, PixelRatio, View } from 'react-native';
5 6
 import { type Dispatch } from 'redux';
6 7
 
7 8
 import { connect } from '../../../redux';
8
-
9
-import type { PanResponderInstance } from 'PanResponder';
10
-
11 9
 import { storeVideoTransform } from '../../actions';
10
+
12 11
 import styles from './styles';
13 12
 
14 13
 /**

+ 0
- 1
react/features/base/media/components/web/VideoTrack.js View File

@@ -3,7 +3,6 @@
3 3
 import React from 'react';
4 4
 
5 5
 import { connect } from '../../../redux';
6
-
7 6
 import AbstractVideoTrack from '../AbstractVideoTrack';
8 7
 import type { Props as AbstractVideoTrackProps } from '../AbstractVideoTrack';
9 8
 

+ 0
- 1
react/features/base/media/middleware.js View File

@@ -8,7 +8,6 @@ import {
8 8
     sendAnalytics
9 9
 } from '../../analytics';
10 10
 import { APP_STATE_CHANGED } from '../../mobile/background';
11
-
12 11
 import { SET_AUDIO_ONLY, setAudioOnly } from '../audio-only';
13 12
 import { isRoomValid, SET_ROOM } from '../conference';
14 13
 import JitsiMeetJS from '../lib-jitsi-meet';

+ 0
- 1
react/features/base/modal/components/JitsiModal.js View File

@@ -7,7 +7,6 @@ import { ColorSchemeRegistry } from '../../color-scheme';
7 7
 import { HeaderWithNavigation, SlidingView } from '../../react';
8 8
 import { connect } from '../../redux';
9 9
 import { StyleType } from '../../styles';
10
-
11 10
 import { setActiveModalId } from '../actions';
12 11
 
13 12
 import styles from './styles';

+ 1
- 2
react/features/base/net-info/NetworkInfoService.native.js View File

@@ -1,10 +1,9 @@
1 1
 // @flow
2
-import EventEmitter from 'events';
3 2
 import NetInfo from '@react-native-community/netinfo';
4 3
 import type { NetInfoState, NetInfoSubscription } from '@react-native-community/netinfo';
4
+import EventEmitter from 'events';
5 5
 
6 6
 import { ONLINE_STATE_CHANGED_EVENT } from './events';
7
-
8 7
 import type { NetworkInfo } from './types';
9 8
 
10 9
 /**

+ 0
- 1
react/features/base/net-info/actions.js View File

@@ -1,7 +1,6 @@
1 1
 // @flow
2 2
 
3 3
 import { SET_NETWORK_INFO, _STORE_NETWORK_INFO_CLEANUP } from './actionTypes';
4
-
5 4
 import type { NetworkInfo } from './types';
6 5
 
7 6
 /**

+ 1
- 1
react/features/base/net-info/middleware.js View File

@@ -3,11 +3,11 @@
3 3
 import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../app';
4 4
 import { MiddlewareRegistry } from '../redux';
5 5
 
6
+import NetworkInfoService from './NetworkInfoService';
6 7
 import { _storeNetworkInfoCleanup, setNetworkInfo } from './actions';
7 8
 import { STORE_NAME } from './constants';
8 9
 import { ONLINE_STATE_CHANGED_EVENT } from './events';
9 10
 import logger from './logger';
10
-import NetworkInfoService from './NetworkInfoService';
11 11
 import type { NetworkInfo } from './types';
12 12
 
13 13
 /**

+ 1
- 1
react/features/base/participants/actions.js View File

@@ -1,5 +1,5 @@
1
-import { set } from '../redux';
2 1
 import { NOTIFICATION_TIMEOUT, showNotification } from '../../notifications';
2
+import { set } from '../redux';
3 3
 
4 4
 import {
5 5
     DOMINANT_SPEAKER_CHANGED,

+ 1
- 1
react/features/base/participants/components/ParticipantView.native.js View File

@@ -15,8 +15,8 @@ import { connect } from '../../redux';
15 15
 import type { StyleType } from '../../styles';
16 16
 import { TestHint } from '../../testing/components';
17 17
 import { getTrackByMediaTypeAndParticipant } from '../../tracks';
18
-
19 18
 import { shouldRenderParticipantVideo } from '../functions';
19
+
20 20
 import styles from './styles';
21 21
 
22 22
 /**

+ 1
- 2
react/features/base/participants/functions.js View File

@@ -1,10 +1,9 @@
1 1
 // @flow
2 2
 import { getGravatarURL } from 'js-utils/avatar';
3 3
 
4
-import { toState } from '../redux';
5
-
6 4
 import { JitsiParticipantConnectionStatus } from '../lib-jitsi-meet';
7 5
 import { MEDIA_TYPE, shouldRenderVideoTrack } from '../media';
6
+import { toState } from '../redux';
8 7
 import { getTrackByMediaTypeAndParticipant } from '../tracks';
9 8
 import { createDeferred } from '../util';
10 9
 

+ 8
- 10
react/features/base/participants/middleware.js View File

@@ -1,10 +1,8 @@
1 1
 // @flow
2 2
 
3 3
 import UIEvents from '../../../../service/UI/UIEvents';
4
-
5 4
 import { NOTIFICATION_TIMEOUT, showNotification } from '../../notifications';
6 5
 import { CALLING, INVITED } from '../../presence-status';
7
-
8 6
 import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../app';
9 7
 import {
10 8
     CONFERENCE_WILL_JOIN,
@@ -15,14 +13,6 @@ import { JitsiConferenceEvents } from '../lib-jitsi-meet';
15 13
 import { MiddlewareRegistry, StateListenerRegistry } from '../redux';
16 14
 import { playSound, registerSound, unregisterSound } from '../sounds';
17 15
 
18
-import {
19
-    localParticipantIdChanged,
20
-    localParticipantJoined,
21
-    localParticipantLeft,
22
-    participantLeft,
23
-    participantUpdated,
24
-    setLoadableAvatarUrl
25
-} from './actions';
26 16
 import {
27 17
     DOMINANT_SPEAKER_CHANGED,
28 18
     KICK_PARTICIPANT,
@@ -32,6 +22,14 @@ import {
32 22
     PARTICIPANT_LEFT,
33 23
     PARTICIPANT_UPDATED
34 24
 } from './actionTypes';
25
+import {
26
+    localParticipantIdChanged,
27
+    localParticipantJoined,
28
+    localParticipantLeft,
29
+    participantLeft,
30
+    participantUpdated,
31
+    setLoadableAvatarUrl
32
+} from './actions';
35 33
 import {
36 34
     LOCAL_PARTICIPANT_DEFAULT_ID,
37 35
     PARTICIPANT_JOINED_SOUND_ID,

+ 2
- 1
react/features/base/react/components/NavigateSectionList.js View File

@@ -4,13 +4,14 @@ import React, { Component } from 'react';
4 4
 
5 5
 // TODO: Maybe try to make all NavigateSectionList components to work for both
6 6
 // mobile and web, and move them to NavigateSectionList component.
7
+import type { Section } from '../Types';
8
+
7 9
 import {
8 10
     NavigateSectionListEmptyComponent,
9 11
     NavigateSectionListItem,
10 12
     NavigateSectionListSectionHeader,
11 13
     SectionList
12 14
 } from './_';
13
-import type { Section } from '../Types';
14 15
 
15 16
 type Props = {
16 17
 

+ 0
- 1
react/features/base/react/components/native/AvatarListItem.js View File

@@ -5,7 +5,6 @@ import { Text } from 'react-native';
5 5
 
6 6
 import { Avatar } from '../../../avatar';
7 7
 import { StyleType } from '../../../styles';
8
-
9 8
 import { type Item } from '../../Types';
10 9
 
11 10
 import Container from './Container';

+ 1
- 1
react/features/base/react/components/native/Linkify.js View File

@@ -1,8 +1,8 @@
1 1
 // @flow
2 2
 
3 3
 import React, { Component } from 'react';
4
-import { Text } from 'react-native';
5 4
 import ReactLinkify from 'react-linkify';
5
+import { Text } from 'react-native';
6 6
 
7 7
 import { type StyleType } from '../../../styles';
8 8
 

+ 0
- 1
react/features/base/react/components/native/NavigateSectionListItem.js View File

@@ -4,7 +4,6 @@ import React, { Component } from 'react';
4 4
 import Swipeout from 'react-native-swipeout';
5 5
 
6 6
 import { ColorPalette } from '../../../styles';
7
-
8 7
 import type { Item } from '../../Types';
9 8
 
10 9
 import AvatarListItem from './AvatarListItem';

+ 3
- 2
react/features/base/react/components/native/NavigateSectionListSectionHeader.js View File

@@ -2,10 +2,11 @@
2 2
 
3 3
 import React, { Component } from 'react';
4 4
 
5
+import type { SetionListSection } from '../../Types';
6
+
5 7
 import Container from './Container';
6
-import styles from './styles';
7 8
 import Text from './Text';
8
-import type { SetionListSection } from '../../Types';
9
+import styles from './styles';
9 10
 
10 11
 type Props = {
11 12
 

+ 2
- 1
react/features/base/react/components/native/SectionList.js View File

@@ -6,9 +6,10 @@ import {
6 6
     SectionList as ReactNativeSectionList
7 7
 } from 'react-native';
8 8
 
9
-import styles from './styles';
10 9
 import type { Section } from '../../Types';
11 10
 
11
+import styles from './styles';
12
+
12 13
 /**
13 14
  * The type of the React {@code Component} props of {@link SectionList}
14 15
  */

+ 0
- 1
react/features/base/react/components/native/SlidingView.js View File

@@ -9,7 +9,6 @@ import {
9 9
 } from 'react-native';
10 10
 
11 11
 import { BackButtonRegistry } from '../../../../mobile/back-button';
12
-
13 12
 import { type StyleType } from '../../../styles';
14 13
 
15 14
 import styles from './slidingviewstyles';

+ 1
- 1
react/features/base/react/components/web/BaseIndicator.js View File

@@ -1,7 +1,7 @@
1 1
 /* @flow */
2 2
 
3
-import React, { Component } from 'react';
4 3
 import Tooltip from '@atlaskit/tooltip';
4
+import React, { Component } from 'react';
5 5
 
6 6
 import { translate } from '../../../i18n';
7 7
 import { Icon } from '../../../icons';

+ 1
- 1
react/features/base/react/components/web/MultiSelectAutocomplete.js View File

@@ -1,7 +1,7 @@
1 1
 // @flow
2 2
 
3
-import { MultiSelectStateless } from '@atlaskit/multi-select';
4 3
 import AKInlineDialog from '@atlaskit/inline-dialog';
4
+import { MultiSelectStateless } from '@atlaskit/multi-select';
5 5
 import _debounce from 'lodash/debounce';
6 6
 import React, { Component } from 'react';
7 7
 

+ 2
- 1
react/features/base/react/components/web/NavigateSectionListItem.js View File

@@ -2,9 +2,10 @@
2 2
 
3 3
 import React, { Component } from 'react';
4 4
 
5
+import type { Item } from '../../Types';
6
+
5 7
 import Container from './Container';
6 8
 import Text from './Text';
7
-import type { Item } from '../../Types';
8 9
 
9 10
 /**
10 11
  * The type of the React {@code Component} props of

+ 2
- 1
react/features/base/react/components/web/NavigateSectionListSectionHeader.js View File

@@ -2,9 +2,10 @@
2 2
 
3 3
 import React, { Component } from 'react';
4 4
 
5
-import Text from './Text';
6 5
 import type { Section } from '../../Types';
7 6
 
7
+import Text from './Text';
8
+
8 9
 type Props = {
9 10
 
10 11
     /**

+ 2
- 1
react/features/base/react/components/web/SectionList.js View File

@@ -2,9 +2,10 @@
2 2
 
3 3
 import React, { Component } from 'react';
4 4
 
5
-import Container from './Container';
6 5
 import type { Section } from '../../Types';
7 6
 
7
+import Container from './Container';
8
+
8 9
 type Props = {
9 10
 
10 11
     /**

+ 0
- 1
react/features/base/responsive-ui/components/AspectRatioAware.js View File

@@ -3,7 +3,6 @@
3 3
 import React, { Component } from 'react';
4 4
 
5 5
 import { connect } from '../../redux';
6
-
7 6
 import { ASPECT_RATIO_NARROW, ASPECT_RATIO_WIDE } from '../constants';
8 7
 
9 8
 /**

+ 0
- 1
react/features/base/settings/functions.native.js View File

@@ -1,7 +1,6 @@
1 1
 // @flow
2 2
 
3 3
 import { NativeModules } from 'react-native';
4
-
5 4
 import DefaultPreference from 'react-native-default-preference';
6 5
 
7 6
 export * from './functions.any';

+ 0
- 0
react/features/base/settings/middleware.js View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save