redux: refactor loading of middlewares and reducers
Up until now we relied on implicit loading of middlewares and reducers, through having imports in each feature's index.js. This leads to many complex import cycles which result in (sometimes) hard to fix bugs in addition to (often) breaking mobile because a web-only feature gets imported on mobile too, thanks to the implicit loading. This PR changes that to make the process explicit. Both middlewares and reducers are imported in a single place, the app entrypoint. They have been divided into 3 categories: any, web and native, which represent each of the platforms respectively. Ideally no feature should have an index.js exporting actions, action types and components, but that's a larger ordeal, so this is just the first step in getting there. In order to both set example and avoid large cycles the app feature has been refactored to not have an idex.js itself.
This commit is contained in:
parent
80d7e5fb7f
commit
6e679f952f
2
Makefile
2
Makefile
|
@ -82,7 +82,7 @@ deploy-local:
|
|||
|
||||
.NOTPARALLEL:
|
||||
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-lib-jitsi-meet deploy-libflac
|
||||
$(WEBPACK_DEV_SERVER)
|
||||
$(WEBPACK_DEV_SERVER) --detect-circular-deps
|
||||
|
||||
source-package:
|
||||
mkdir -p source_package/jitsi-meet/css && \
|
||||
|
|
|
@ -22,7 +22,7 @@ import {
|
|||
maybeRedirectToWelcomePage,
|
||||
redirectToStaticPage,
|
||||
reloadWithStoredParams
|
||||
} from './react/features/app';
|
||||
} from './react/features/app/actions';
|
||||
import {
|
||||
AVATAR_ID_COMMAND,
|
||||
AVATAR_URL_COMMAND,
|
||||
|
|
|
@ -7,7 +7,7 @@ import AuthHandler from './modules/UI/authentication/AuthHandler';
|
|||
import {
|
||||
connectionEstablished,
|
||||
connectionFailed
|
||||
} from './react/features/base/connection';
|
||||
} from './react/features/base/connection/actions';
|
||||
import {
|
||||
isFatalJitsiConnectionError,
|
||||
JitsiConnectionErrors,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* global $, APP, config */
|
||||
|
||||
import { toJid } from '../../../react/features/base/connection';
|
||||
import { toJid } from '../../../react/features/base/connection/functions';
|
||||
import {
|
||||
JitsiConnectionErrors
|
||||
} from '../../../react/features/base/lib-jitsi-meet';
|
||||
|
|
|
@ -1,5 +1,2 @@
|
|||
export * from './AnalyticsEvents';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -3,12 +3,8 @@
|
|||
import React, { Fragment } from 'react';
|
||||
|
||||
import { BaseApp } from '../../base/app';
|
||||
import '../../base/lastn'; // Register lastN middleware
|
||||
import { toURLString } from '../../base/util';
|
||||
import '../../follow-me';
|
||||
import { OverlayContainer } from '../../overlay';
|
||||
import '../../lobby'; // Import lobby function
|
||||
import '../../rejoin'; // Enable rejoin analytics
|
||||
import { appNavigate } from '../actions';
|
||||
import { getDefaultURL } from '../functions';
|
||||
|
||||
|
|
|
@ -2,32 +2,21 @@
|
|||
|
||||
import React from 'react';
|
||||
|
||||
import '../../analytics';
|
||||
import '../../authentication';
|
||||
import { setColorScheme } from '../../base/color-scheme';
|
||||
import { DialogContainer } from '../../base/dialog';
|
||||
import { CALL_INTEGRATION_ENABLED, updateFlags } from '../../base/flags';
|
||||
import '../../base/jwt';
|
||||
import { Platform } from '../../base/react';
|
||||
import { DimensionsDetector, clientResized } from '../../base/responsive-ui';
|
||||
import { updateSettings } from '../../base/settings';
|
||||
import '../../google-api';
|
||||
import '../../mobile/audio-mode';
|
||||
import '../../mobile/back-button';
|
||||
import '../../mobile/background';
|
||||
import '../../mobile/call-integration';
|
||||
import '../../mobile/external-api';
|
||||
import '../../mobile/full-screen';
|
||||
import '../../mobile/permissions';
|
||||
import '../../mobile/picture-in-picture';
|
||||
import '../../mobile/proximity';
|
||||
import '../../mobile/wake-lock';
|
||||
import '../../mobile/watchos';
|
||||
import logger from '../logger';
|
||||
|
||||
import { AbstractApp } from './AbstractApp';
|
||||
import type { Props as AbstractAppProps } from './AbstractApp';
|
||||
|
||||
// Register middlewares and reducers.
|
||||
import '../middlewares';
|
||||
import '../reducers';
|
||||
|
||||
declare var __DEV__;
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,19 +5,13 @@ import React from 'react';
|
|||
|
||||
import { DialogContainer } from '../../base/dialog';
|
||||
import { ChromeExtensionBanner } from '../../chrome-extension-banner';
|
||||
import '../../base/user-interaction';
|
||||
import '../../chat';
|
||||
import '../../external-api';
|
||||
import '../../no-audio-signal';
|
||||
import '../../noise-detection';
|
||||
import '../../power-monitor';
|
||||
import '../../room-lock';
|
||||
import '../../talk-while-muted';
|
||||
import '../../video-layout';
|
||||
import '../../old-client-notification';
|
||||
|
||||
import { AbstractApp } from './AbstractApp';
|
||||
|
||||
// Register middlewares and reducers.
|
||||
import '../middlewares';
|
||||
import '../reducers';
|
||||
|
||||
/**
|
||||
* Root app {@code Component} on Web/React.
|
||||
*
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
// @flow
|
||||
|
||||
export * from './actions';
|
||||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
|
@ -0,0 +1,46 @@
|
|||
// @flow
|
||||
|
||||
import '../analytics/middleware';
|
||||
import '../base/conference/middleware';
|
||||
import '../base/config/middleware';
|
||||
import '../base/jwt/middleware';
|
||||
import '../base/known-domains/middleware';
|
||||
import '../base/lastn/middleware';
|
||||
import '../base/lib-jitsi-meet/middleware';
|
||||
import '../base/logging/middleware';
|
||||
import '../base/media/middleware';
|
||||
import '../base/net-info/middleware';
|
||||
import '../base/participants/middleware';
|
||||
import '../base/redux/middleware';
|
||||
import '../base/responsive-ui/middleware';
|
||||
import '../base/settings/middleware';
|
||||
import '../base/sounds/middleware';
|
||||
import '../base/testing/middleware';
|
||||
import '../base/tracks/middleware';
|
||||
import '../base/user-interaction/middleware';
|
||||
import '../calendar-sync/middleware';
|
||||
import '../chat/middleware';
|
||||
import '../conference/middleware';
|
||||
import '../connection-indicator/middleware';
|
||||
import '../deep-linking/middleware';
|
||||
import '../device-selection/middleware';
|
||||
import '../display-name/middleware';
|
||||
import '../etherpad/middleware';
|
||||
import '../filmstrip/middleware';
|
||||
import '../follow-me/middleware';
|
||||
import '../invite/middleware';
|
||||
import '../large-video/middleware';
|
||||
import '../lobby/middleware';
|
||||
import '../notifications/middleware';
|
||||
import '../overlay/middleware';
|
||||
import '../recent-list/middleware';
|
||||
import '../recording/middleware';
|
||||
import '../rejoin/middleware';
|
||||
import '../room-lock/middleware';
|
||||
import '../subtitles/middleware';
|
||||
import '../toolbox/middleware';
|
||||
import '../transcribing/middleware';
|
||||
import '../video-layout/middleware';
|
||||
import '../videosipgw/middleware';
|
||||
|
||||
import './middleware';
|
|
@ -0,0 +1,18 @@
|
|||
// @flow
|
||||
|
||||
import '../authentication/middleware';
|
||||
import '../mobile/audio-mode/middleware';
|
||||
import '../mobile/back-button/middleware';
|
||||
import '../mobile/background/middleware';
|
||||
import '../mobile/call-integration/middleware';
|
||||
import '../mobile/external-api/middleware';
|
||||
import '../mobile/full-screen/middleware';
|
||||
import '../mobile/incoming-call/middleware';
|
||||
import '../mobile/permissions/middleware';
|
||||
import '../mobile/proximity/middleware';
|
||||
import '../mobile/wake-lock/middleware';
|
||||
import '../mobile/watchos/middleware';
|
||||
import '../share-room/middleware';
|
||||
import '../youtube-player/middleware';
|
||||
|
||||
import './middlewares.any';
|
|
@ -0,0 +1,16 @@
|
|||
// @flow
|
||||
|
||||
import '../base/devices/middleware';
|
||||
import '../e2ee/middleware';
|
||||
import '../external-api/middleware';
|
||||
import '../keyboard-shortcuts/middleware';
|
||||
import '../local-recording/middleware';
|
||||
import '../no-audio-signal/middleware';
|
||||
import '../noise-detection/middleware';
|
||||
import '../old-client-notification/middleware';
|
||||
import '../power-monitor/middleware';
|
||||
import '../prejoin/middleware';
|
||||
import '../shared-video/middleware';
|
||||
import '../talk-while-muted/middleware';
|
||||
|
||||
import './middlewares.any';
|
|
@ -0,0 +1,49 @@
|
|||
// @flow
|
||||
|
||||
import '../analytics/reducer';
|
||||
import '../base/app/reducer';
|
||||
import '../base/audio-only/reducer';
|
||||
import '../base/color-scheme/reducer';
|
||||
import '../base/conference/reducer';
|
||||
import '../base/config/reducer';
|
||||
import '../base/connection/reducer';
|
||||
import '../base/dialog/reducer';
|
||||
import '../base/flags/reducer';
|
||||
import '../base/jwt/reducer';
|
||||
import '../base/known-domains/reducer';
|
||||
import '../base/lib-jitsi-meet/reducer';
|
||||
import '../base/logging/reducer';
|
||||
import '../base/media/reducer';
|
||||
import '../base/modal/reducer';
|
||||
import '../base/net-info/reducer';
|
||||
import '../base/participants/reducer';
|
||||
import '../base/responsive-ui/reducer';
|
||||
import '../base/settings/reducer';
|
||||
import '../base/sounds/reducer';
|
||||
import '../base/testing/reducer';
|
||||
import '../base/tracks/reducer';
|
||||
import '../base/user-interaction/reducer';
|
||||
import '../blur/reducer';
|
||||
import '../calendar-sync/reducer';
|
||||
import '../chat/reducer';
|
||||
import '../deep-linking/reducer';
|
||||
import '../device-selection/reducer';
|
||||
import '../dropbox/reducer';
|
||||
import '../etherpad/reducer';
|
||||
import '../filmstrip/reducer';
|
||||
import '../follow-me/reducer';
|
||||
import '../google-api/reducer';
|
||||
import '../invite/reducer';
|
||||
import '../large-video/reducer';
|
||||
import '../lobby/reducer';
|
||||
import '../notifications/reducer';
|
||||
import '../overlay/reducer';
|
||||
import '../recent-list/reducer';
|
||||
import '../recording/reducer';
|
||||
import '../settings/reducer';
|
||||
import '../subtitles/reducer';
|
||||
import '../toolbox/reducer';
|
||||
import '../transcribing/reducer';
|
||||
import '../video-layout/reducer';
|
||||
import '../videosipgw/reducer';
|
||||
import '../welcome/reducer';
|
|
@ -0,0 +1,12 @@
|
|||
// @flow
|
||||
|
||||
import '../authentication/reducer';
|
||||
import '../mobile/audio-mode/reducer';
|
||||
import '../mobile/background/reducer';
|
||||
import '../mobile/call-integration/reducer';
|
||||
import '../mobile/full-screen/reducer';
|
||||
import '../mobile/incoming-call/reducer';
|
||||
import '../mobile/watchos/reducer';
|
||||
import '../youtube-player/reducer';
|
||||
|
||||
import './reducers.any';
|
|
@ -0,0 +1,15 @@
|
|||
// @flow
|
||||
|
||||
import '../base/devices/reducer';
|
||||
import '../e2ee/reducer';
|
||||
import '../feedback/reducer';
|
||||
import '../local-recording/reducer';
|
||||
import '../no-audio-signal/reducer';
|
||||
import '../noise-detection/reducer';
|
||||
import '../power-monitor/reducer';
|
||||
import '../prejoin/reducer';
|
||||
import '../screenshot-capture/reducer';
|
||||
import '../shared-video/reducer';
|
||||
import '../talk-while-muted/reducer';
|
||||
|
||||
import './reducers.any';
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import type { Dispatch } from 'redux';
|
||||
|
||||
import { appNavigate } from '../app';
|
||||
import { appNavigate } from '../app/actions';
|
||||
import { checkIfCanJoin, conferenceLeft } from '../base/conference';
|
||||
import { connectionFailed } from '../base/connection';
|
||||
import { openDialog } from '../base/dialog';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import type { Dispatch } from 'redux';
|
||||
|
||||
import { appNavigate } from '../app';
|
||||
import { appNavigate } from '../app/actions';
|
||||
import {
|
||||
CONFERENCE_FAILED,
|
||||
CONFERENCE_JOINED,
|
||||
|
|
|
@ -2,5 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -2,5 +2,3 @@
|
|||
|
||||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -4,5 +4,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './functions';
|
||||
export { default as ColorSchemeRegistry } from './ColorSchemeRegistry';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -6,7 +6,7 @@ import {
|
|||
createStartMutedConfigurationEvent,
|
||||
sendAnalytics
|
||||
} from '../../analytics';
|
||||
import { getName } from '../../app';
|
||||
import { getName } from '../../app/functions';
|
||||
import { endpointMessageReceived } from '../../subtitles';
|
||||
import { JITSI_CONNECTION_CONFERENCE_KEY } from '../connection';
|
||||
import { JitsiConferenceEvents } from '../lib-jitsi-meet';
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export { default as CONFIG_WHITELIST } from './configWhitelist';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -3,11 +3,8 @@
|
|||
import _ from 'lodash';
|
||||
import type { Dispatch } from 'redux';
|
||||
|
||||
import {
|
||||
conferenceLeft,
|
||||
conferenceWillLeave,
|
||||
getCurrentConference
|
||||
} from '../conference';
|
||||
import { conferenceLeft, conferenceWillLeave } from '../conference/actions';
|
||||
import { getCurrentConference } from '../conference/functions';
|
||||
import JitsiMeetJS, { JitsiConnectionEvents } from '../lib-jitsi-meet';
|
||||
import {
|
||||
getBackendSafeRoomName,
|
||||
|
|
|
@ -4,5 +4,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -2,5 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -2,5 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,5 +1,2 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// @flow
|
||||
|
||||
import { getDefaultURL } from '../../app';
|
||||
import { getDefaultURL } from '../../app/functions';
|
||||
import { APP_WILL_MOUNT } from '../app';
|
||||
import { SET_ROOM } from '../conference';
|
||||
import { MiddlewareRegistry } from '../redux';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// @flow
|
||||
|
||||
import { APP_WILL_MOUNT } from '../app';
|
||||
import { APP_WILL_MOUNT } from '../app/actionTypes';
|
||||
import { PersistenceRegistry, ReducerRegistry } from '../redux';
|
||||
|
||||
import { ADD_KNOWN_DOMAINS } from './actionTypes';
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
// @flow
|
||||
|
||||
import './middleware';
|
|
@ -43,7 +43,7 @@ function _updateLastN({ getState }) {
|
|||
const state = getState();
|
||||
const { conference } = state['features/base/conference'];
|
||||
const { enabled: audioOnly } = state['features/base/audio-only'];
|
||||
const { appState } = state['features/background'];
|
||||
const { appState } = state['features/background'] || {};
|
||||
const { enabled: filmStripEnabled } = state['features/filmstrip'];
|
||||
const config = state['features/base/config'];
|
||||
|
||||
|
@ -56,7 +56,7 @@ function _updateLastN({ getState }) {
|
|||
const defaultLastN = typeof config.channelLastN === 'undefined' ? -1 : config.channelLastN;
|
||||
let lastN = defaultLastN;
|
||||
|
||||
if (appState !== 'active') {
|
||||
if (typeof appState !== 'undefined' && appState !== 'active') {
|
||||
lastN = 0;
|
||||
} else if (audioOnly) {
|
||||
const { screenShares, tileViewEnabled } = state['features/video-layout'];
|
||||
|
|
|
@ -27,6 +27,3 @@ export const JitsiTrackEvents = JitsiMeetJS.events.track;
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -3,6 +3,3 @@ export * from './actionTypes';
|
|||
export * from './components';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
// @flow
|
||||
|
||||
import './reducer';
|
||||
|
||||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
|
|
|
@ -1,4 +1 @@
|
|||
export * from './actionTypes';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -3,6 +3,3 @@ export * from './actionTypes';
|
|||
export * from './components';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
export * from './constants';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -4,7 +4,7 @@ import { jitsiLocalStorage } from 'js-utils';
|
|||
import { randomHexString } from 'js-utils/random';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { APP_WILL_MOUNT } from '../app';
|
||||
import { APP_WILL_MOUNT } from '../app/actionTypes';
|
||||
import { browser } from '../lib-jitsi-meet';
|
||||
import { PersistenceRegistry, ReducerRegistry } from '../redux';
|
||||
import { assignIfDefined } from '../util';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { getSdkBundlePath } from '../../app';
|
||||
import { getSdkBundlePath } from '../../app/functions';
|
||||
|
||||
/**
|
||||
* Returns the location of the sounds. On iOS it's the location of the SDK
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,5 +1,2 @@
|
|||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
import './middleware';
|
||||
import './reducer';
|
|
@ -1,5 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { generateRoomWithoutSeparator } from 'js-utils/random';
|
||||
import type { Dispatch } from 'redux';
|
||||
|
||||
import { getDefaultURL } from '../app';
|
||||
import { getDefaultURL } from '../app/functions';
|
||||
import { openDialog } from '../base/dialog';
|
||||
|
||||
import { refreshCalendar } from './actions';
|
||||
|
|
|
@ -7,7 +7,7 @@ import {
|
|||
createCalendarSelectedEvent,
|
||||
sendAnalytics
|
||||
} from '../../analytics';
|
||||
import { appNavigate } from '../../app';
|
||||
import { appNavigate } from '../../app/actions';
|
||||
import { getLocalizedDateFormatter, translate } from '../../base/i18n';
|
||||
import { NavigateSectionList } from '../../base/react';
|
||||
import { connect } from '../../base/redux';
|
||||
|
|
|
@ -7,7 +7,7 @@ import {
|
|||
createCalendarSelectedEvent,
|
||||
sendAnalytics
|
||||
} from '../../analytics';
|
||||
import { appNavigate } from '../../app';
|
||||
import { appNavigate } from '../../app/actions';
|
||||
import { MeetingsList } from '../../base/react';
|
||||
import { connect } from '../../base/redux';
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import React, { Component } from 'react';
|
||||
import { Text, TouchableOpacity, View } from 'react-native';
|
||||
|
||||
import { appNavigate } from '../../app';
|
||||
import { appNavigate } from '../../app/actions';
|
||||
import { getURLWithoutParamsNormalized } from '../../base/connection';
|
||||
import { getLocalizedDateFormatter, translate } from '../../base/i18n';
|
||||
import { Icon, IconNotificationJoin } from '../../base/icons';
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './components';
|
||||
export * from './constants';
|
||||
export { isCalendarEnabled } from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
export * from './constants';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -4,7 +4,7 @@ import React from 'react';
|
|||
import { NativeModules, SafeAreaView, StatusBar } from 'react-native';
|
||||
import LinearGradient from 'react-native-linear-gradient';
|
||||
|
||||
import { appNavigate } from '../../../app';
|
||||
import { appNavigate } from '../../../app/actions';
|
||||
import { PIP_ENABLED, getFeatureFlag } from '../../../base/flags';
|
||||
import { Container, LoadingIndicator, TintedView } from '../../../base/react';
|
||||
import { connect } from '../../../base/redux';
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
// @flow
|
||||
|
||||
export * from './actions';
|
||||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// @flow
|
||||
import { appNavigate } from '../app';
|
||||
import { appNavigate } from '../app/actions';
|
||||
import {
|
||||
CONFERENCE_JOINED,
|
||||
KICKED_OUT,
|
||||
|
|
|
@ -3,5 +3,3 @@
|
|||
export * from './components';
|
||||
|
||||
export { default as statsEmitter } from './statsEmitter';
|
||||
|
||||
import './middleware';
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import type { Dispatch } from 'redux';
|
||||
|
||||
import { appNavigate } from '../app';
|
||||
import { appNavigate } from '../app/actions';
|
||||
|
||||
import { OPEN_DESKTOP_APP, OPEN_WEB_APP } from './actionTypes';
|
||||
|
||||
|
|
|
@ -1,4 +1 @@
|
|||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -11,7 +11,6 @@ import { openDesktopApp } from './functions';
|
|||
* @param {Store} store - The redux store.
|
||||
* @returns {Function}
|
||||
*/
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
MiddlewareRegistry.register(store => next => action => {
|
||||
switch (action.type) {
|
||||
case OPEN_DESKTOP_APP:
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -3,5 +3,3 @@
|
|||
export * from './actions';
|
||||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
export * from './actions';
|
||||
export * from './functions.any';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -3,6 +3,3 @@ export * from './actionTypes';
|
|||
export * from './components';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
import './middleware';
|
||||
import './subscriber';
|
|
@ -23,6 +23,8 @@ import { appendSuffix } from '../display-name';
|
|||
import { SUBMIT_FEEDBACK_ERROR, SUBMIT_FEEDBACK_SUCCESS } from '../feedback';
|
||||
import { SET_FILMSTRIP_VISIBLE } from '../filmstrip';
|
||||
|
||||
import './subscriber';
|
||||
|
||||
declare var APP: Object;
|
||||
declare var interfaceConfig: Object;
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -3,7 +3,3 @@ export * from './actionTypes';
|
|||
export * from './components';
|
||||
export * from './constants';
|
||||
export * from './functions';
|
||||
|
||||
import './reducer';
|
||||
import './subscriber';
|
||||
import './middleware';
|
||||
|
|
|
@ -13,6 +13,8 @@ import {
|
|||
import { SET_HORIZONTAL_VIEW_DIMENSIONS, SET_TILE_VIEW_DIMENSIONS } from './actionTypes';
|
||||
import { setHorizontalViewDimensions, setTileViewDimensions } from './actions';
|
||||
|
||||
import './subscriber.web';
|
||||
|
||||
/**
|
||||
* The middleware of the feature Filmstrip.
|
||||
*/
|
||||
|
|
|
@ -1,5 +1 @@
|
|||
export * from './functions';
|
||||
export * from './middleware';
|
||||
export * from './subscriber';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// @flow
|
||||
|
||||
import { CONFERENCE_WILL_JOIN } from '../base/conference';
|
||||
import { CONFERENCE_WILL_JOIN } from '../base/conference/actionTypes';
|
||||
import {
|
||||
getParticipantById,
|
||||
getPinnedParticipant,
|
||||
|
@ -19,6 +19,8 @@ import { FOLLOW_ME_COMMAND } from './constants';
|
|||
import { isFollowMeActive } from './functions';
|
||||
import logger from './logger';
|
||||
|
||||
import './subscriber';
|
||||
|
||||
declare var APP: Object;
|
||||
|
||||
/**
|
||||
|
|
|
@ -4,5 +4,3 @@ export * from './actions';
|
|||
export * from './components';
|
||||
export * from './constants';
|
||||
export { default as googleApi } from './googleApi';
|
||||
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
export * from './actions';
|
||||
export * from './components';
|
||||
export * from './functions';
|
||||
|
||||
import './reducer';
|
||||
import './middleware';
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
export * from './actions';
|
||||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
|
|
|
@ -1,6 +1,2 @@
|
|||
export * from './actions';
|
||||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
import './subscriber';
|
||||
|
|
|
@ -18,6 +18,8 @@ import {
|
|||
|
||||
import { selectParticipant, selectParticipantInLargeVideo } from './actions';
|
||||
|
||||
import './subscriber';
|
||||
|
||||
/**
|
||||
* Middleware that catches actions related to participants and tracks and
|
||||
* dispatches an action to select a participant depicted by LargeVideo.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import { type Dispatch } from 'redux';
|
||||
|
||||
import { appNavigate, maybeRedirectToWelcomePage } from '../app';
|
||||
import { appNavigate, maybeRedirectToWelcomePage } from '../app/actions';
|
||||
import { conferenceWillJoin, getCurrentConference, setPassword } from '../base/conference';
|
||||
import { hideDialog, openDialog } from '../base/dialog';
|
||||
import { getLocalParticipant } from '../base/participants';
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
// @flow
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
||||
export * from './components';
|
||||
|
|
|
@ -2,6 +2,3 @@ export * from './actions';
|
|||
export * from './actionTypes';
|
||||
export * from './components';
|
||||
export * from './controller';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
/* @flow */
|
||||
|
||||
import { createShortcutEvent, sendAnalytics } from '../analytics';
|
||||
import { APP_WILL_UNMOUNT } from '../base/app';
|
||||
import { CONFERENCE_JOINED } from '../base/conference';
|
||||
import { toggleDialog } from '../base/dialog';
|
||||
import { APP_WILL_UNMOUNT } from '../base/app/actionTypes';
|
||||
import { CONFERENCE_JOINED } from '../base/conference/actionTypes';
|
||||
import { toggleDialog } from '../base/dialog/actions';
|
||||
import { i18next } from '../base/i18n';
|
||||
import { SET_AUDIO_MUTED } from '../base/media';
|
||||
import { SET_AUDIO_MUTED } from '../base/media/actionTypes';
|
||||
import { MiddlewareRegistry } from '../base/redux';
|
||||
import { SETTINGS_UPDATED } from '../base/settings/actionTypes';
|
||||
import { showNotification } from '../notifications';
|
||||
import { showNotification } from '../notifications/actions';
|
||||
|
||||
import { localRecordingEngaged, localRecordingUnengaged } from './actions';
|
||||
import { LocalRecordingInfoDialog } from './components';
|
||||
|
|
|
@ -1,4 +1 @@
|
|||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
// @flow
|
||||
|
||||
export { default as BackButtonRegistry } from './BackButtonRegistry';
|
||||
|
||||
import './middleware';
|
||||
|
|
|
@ -1,5 +1,2 @@
|
|||
export * from './actions';
|
||||
export * from './actionTypes';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { NativeModules, NativeEventEmitter } from 'react-native';
|
||||
|
||||
import { getName } from '../../app';
|
||||
import { getName } from '../../app/functions';
|
||||
|
||||
/**
|
||||
* Thin wrapper around Apple's CallKit functionality.
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
import './middleware';
|
||||
import './reducer';
|
|
@ -4,7 +4,7 @@ import { Alert, NativeModules, Platform } from 'react-native';
|
|||
import uuid from 'uuid';
|
||||
|
||||
import { createTrackMutedEvent, sendAnalytics } from '../../analytics';
|
||||
import { appNavigate } from '../../app';
|
||||
import { appNavigate } from '../../app/actions';
|
||||
import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../../base/app';
|
||||
import { SET_AUDIO_ONLY } from '../../base/audio-only';
|
||||
import {
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
import './middleware';
|
||||
import './reducer';
|
|
@ -1,4 +1 @@
|
|||
export * from './components';
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
export * from './functions';
|
||||
|
||||
import './middleware';
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
import './middleware';
|
|
@ -1 +0,0 @@
|
|||
import './middleware';
|
|
@ -1,2 +0,0 @@
|
|||
import './middleware';
|
||||
import './reducer';
|
|
@ -3,7 +3,7 @@
|
|||
import { Platform } from 'react-native';
|
||||
import * as watch from 'react-native-watch-connectivity';
|
||||
|
||||
import { appNavigate } from '../../app';
|
||||
import { appNavigate } from '../../app/actions';
|
||||
import { APP_WILL_MOUNT } from '../../base/app';
|
||||
import { CONFERENCE_JOINED } from '../../base/conference';
|
||||
import { getCurrentConferenceUrl } from '../../base/connection';
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
// @flow
|
||||
|
||||
import './middleware';
|
||||
import './reducer';
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue