ref: TS Improvements (#12358)

Remove unnecessary ts-ignores
Remove unnecessary eslint-disable
Fix type errors
Change Dispatch type to IStore['dispatch']
This commit is contained in:
Robert Pintilii 2022-10-11 13:47:54 +03:00 committed by GitHub
parent 6365b699c1
commit 6c3206e4d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
126 changed files with 216 additions and 437 deletions

1
globals.d.ts vendored
View File

@ -16,6 +16,7 @@ declare global {
config: IConfig;
JITSI_MEET_LITE_SDK?: boolean;
interfaceConfig?: any;
JitsiMeetJS?: any;
}
const config: IConfig;

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { IState } from '../app/types';
import {
CONFERENCE_JOINED,

View File

@ -1,11 +1,10 @@
/* eslint-disable lines-around-comment */
import React, { Component } from 'react';
import { WithTranslation } from 'react-i18next';
import type { Dispatch } from 'redux';
// @ts-ignore
import { connect } from '../../../../../connection';
import { IState } from '../../../app/types';
import { IState, IStore } from '../../../app/types';
import { IConfig } from '../../../base/config/configType';
import { toJid } from '../../../base/connection/functions';
// @ts-ignore
@ -55,7 +54,7 @@ interface Props extends WithTranslation {
/**
* Redux store dispatch method.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
/**
* Invoked when username and password are submitted.

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { batch } from 'react-redux';
import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../base/app/actionTypes';
@ -19,6 +18,7 @@ import StateListenerRegistry from '../base/redux/StateListenerRegistry';
import { playSound, registerSound, unregisterSound } from '../base/sounds/actions';
import { hideNotification, showNotification } from '../notifications/actions';
import { NOTIFICATION_TIMEOUT_TYPE } from '../notifications/constants';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { muteLocal } from '../video-menu/actions.any';

View File

@ -1,10 +1,8 @@
/* eslint-disable lines-around-comment */
import type { Dispatch } from 'redux';
// @ts-ignore
import UIEvents from '../../../../service/UI/UIEvents';
import { createAudioOnlyChangedEvent } from '../../analytics/AnalyticsEvents';
import { sendAnalytics } from '../../analytics/functions';
import { IStore } from '../../app/types';
import { SET_AUDIO_ONLY } from './actionTypes';
import logger from './logger';
@ -22,7 +20,7 @@ declare let APP: any;
* }}
*/
export function setAudioOnly(audioOnly: boolean) {
return (dispatch: Dispatch<any>, getState: Function) => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const { enabled: oldValue } = getState()['features/base/audio-only'];
if (oldValue !== audioOnly) {
@ -49,7 +47,7 @@ export function setAudioOnly(audioOnly: boolean) {
* @returns {Function}
*/
export function toggleAudioOnly() {
return (dispatch: Dispatch<any>, getState: Function) => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const { enabled } = getState()['features/base/audio-only'];
return dispatch(setAudioOnly(!enabled));

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { LOCKED_LOCALLY, LOCKED_REMOTELY } from '../../room-lock/constants';
import { CONNECTION_WILL_CONNECT, SET_LOCATION_URL } from '../connection/actionTypes';
import { JitsiConferenceErrors } from '../lib-jitsi-meet';

View File

@ -1,7 +1,7 @@
// @ts-ignore
import { jitsiLocalStorage } from '@jitsi/js-utils';
import { Dispatch } from 'redux';
import { IStore } from '../../app/types';
import { addKnownDomains } from '../known-domains/actions';
import { parseURIString } from '../util/uri';
@ -99,7 +99,7 @@ export function overwriteConfig(config: Object) {
* @returns {Function}
*/
export function setConfig(config: Object = {}) {
return (dispatch: Dispatch<any>, getState: Function) => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const { locationURL } = getState()['features/base/connection'];
// Now that the loading of the config was successful override the values
@ -135,7 +135,7 @@ export function setConfig(config: Object = {}) {
* @returns {Function}
*/
export function storeConfig(baseURL: string, config: Object) {
return (dispatch: Dispatch<any>) => {
return (dispatch: IStore['dispatch']) => {
// Try to store the configuration in localStorage. If the deployment
// specified 'getroom' as a function, for example, it does not make
// sense to and it will not be stored.

View File

@ -1,6 +1,5 @@
/* eslint-disable lines-around-comment */
import { Dispatch } from 'redux';
import { IStore } from '../../app/types';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { conferenceLeft, conferenceWillLeave } from '../conference/actions';
import { getCurrentConference } from '../conference/functions';
@ -74,7 +73,7 @@ export type ConnectionFailedError = {
* @returns {Function}
*/
export function connect(id?: string, password?: string) {
return (dispatch: Dispatch<any>, getState: Function) => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const state = getState();
const options = constructOptions(state);
const { locationURL } = state['features/base/connection'];
@ -266,7 +265,7 @@ function _connectionWillConnect(connection: Object) {
* @returns {Function}
*/
export function disconnect() {
return (dispatch: Dispatch<any>, getState: Function): Promise<void> => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']): Promise<void> => {
const state = getState();
// The conference we have already joined or are joining.

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { SET_ROOM } from '../conference/actionTypes';
import { JitsiConnectionErrors } from '../lib-jitsi-meet';
import ReducerRegistry from '../redux/ReducerRegistry';
@ -15,8 +14,9 @@ import {
import { ConnectionFailedError } from './actions.native';
export interface IConnectionState {
connecting?: Object;
connecting?: any;
connection?: {
disconnect: Function;
getJid: () => string;
getLogs: () => Object;
};

View File

@ -1,15 +1,14 @@
import { AnyAction } from 'redux';
/* eslint-disable lines-around-comment */
// @ts-ignore
import UIEvents from '../../../../service/UI/UIEvents';
import { IStore } from '../../app/types';
import { processExternalDeviceRequest } from '../../device-selection/functions';
import { showNotification, showWarningNotification } from '../../notifications/actions';
import { NOTIFICATION_TIMEOUT_TYPE } from '../../notifications/constants';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { replaceAudioTrackById, replaceVideoTrackById, setDeviceStatusWarning } from '../../prejoin/actions';
// @ts-ignore
import { isPrejoinPageVisible } from '../../prejoin/functions';
import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../app/actionTypes';
import JitsiMeetJS, { JitsiMediaDevicesEvents, JitsiTrackErrors } from '../lib-jitsi-meet';

View File

@ -1,5 +1,4 @@
// @ts-ignore
import { getAppProp } from '../app';
import { getAppProp } from '../app/functions';
import { IStateful } from '../app/types';
import { toState } from '../redux/functions';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import {
SET_CONFIG
} from '../config/actionTypes';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
// @ts-ignore
import { jitsiLocalStorage } from '@jitsi/js-utils';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
// @ts-ignore
import Logger from '@jitsi/logger';

View File

@ -1,5 +1,4 @@
import { Dispatch } from 'redux';
import { IStore } from '../../app/types';
import { showModeratedNotification } from '../../av-moderation/actions';
import { shouldShowModeratedNotification } from '../../av-moderation/functions';
import { isModerationNotificationDisplayed } from '../../notifications/functions';
@ -106,7 +105,7 @@ export function setScreenshareMuted(
mediaType: MediaType = MEDIA_TYPE.SCREENSHARE,
authority: number = SCREENSHARE_MUTISM_AUTHORITY.USER,
ensureTrack = false) {
return (dispatch: Dispatch<any>, getState: Function) => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const state = getState();
// check for A/V Moderation when trying to unmute
@ -167,7 +166,7 @@ export function setVideoMuted(
mediaType: string = MEDIA_TYPE.VIDEO,
authority: number = VIDEO_MUTISM_AUTHORITY.USER,
ensureTrack = false) {
return (dispatch: Dispatch<any>, getState: Function) => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const state = getState();
// check for A/V Moderation when trying to unmute

View File

@ -1,14 +1,13 @@
/* eslint-disable lines-around-comment */
import './middleware.any.js';
import { IStore } from '../../app/types';
import { showNotification } from '../../notifications/actions';
import { NOTIFICATION_TIMEOUT_TYPE } from '../../notifications/constants';
import LocalRecordingManager from '../../recording/components/Recording/LocalRecordingManager.web';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import StopRecordingDialog from '../../recording/components/Recording/web/StopRecordingDialog';
// @ts-ignore
import { openDialog } from '../dialog';
import { openDialog } from '../dialog/actions';
import MiddlewareRegistry from '../redux/MiddlewareRegistry';
import { SET_VIDEO_MUTED } from './actionTypes';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import {
SCREEN_SHARE_REMOTE_PARTICIPANTS_UPDATED
} from '../../video-layout/actionTypes';
@ -311,6 +310,7 @@ ReducerRegistry.register<IParticipantsState>('features/base/participants',
state.sortedRemoteVirtualScreenshareParticipants = new Map(sortedRemoteVirtualScreenshareParticipants);
}
// Exclude the screenshare participant from the fake participant count to avoid duplicates.
if (fakeParticipant && !isScreenShareParticipant(participant)) {
state.fakeParticipants.set(id, participant);
@ -402,6 +402,7 @@ ReducerRegistry.register<IParticipantsState>('features/base/participants',
// Keep the remote screen share list sorted alphabetically.
sortedSharesList.length && sortedSharesList.sort((a, b) => a[1].localeCompare(b[1]));
// @ts-ignore
state.sortedRemoteScreenshares = new Map(sortedSharesList);

View File

@ -1,5 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React, { useCallback, useState } from 'react';
import { WithTranslation } from 'react-i18next';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import React from 'react';
import { TouchableRipple } from 'react-native-paper';
@ -50,6 +49,7 @@ const IconButton: React.FC<IconButtonProps> = ({
<TouchableRipple
accessibilityLabel = { accessibilityLabel }
disabled = { disabled }
// @ts-ignore
onPress = { onPress }
rippleColor = { rippleColor }

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
// @ts-ignore
import { jitsiLocalStorage } from '@jitsi/js-utils';
import _ from 'lodash';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
// @ts-ignore
import type { AudioElement } from '../media';
import ReducerRegistry from '../redux/ReducerRegistry';

View File

@ -2,9 +2,7 @@ import { IState, IStore } from '../../app/types';
import { getMultipleVideoSupportFeatureFlag } from '../config/functions.any';
import { MEDIA_TYPE, VIDEO_TYPE } from '../media/constants';
import { getParticipantById, isScreenShareParticipant } from '../participants/functions';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { getTrackByMediaTypeAndParticipant, getVirtualScreenshareParticipantTrack } from '../tracks';
import { getTrackByMediaTypeAndParticipant, getVirtualScreenshareParticipantTrack } from '../tracks/functions';
/**
* Indicates whether the test mode is enabled. When it's enabled
@ -46,7 +44,7 @@ export function getRemoteVideoType({ getState }: IStore, id: string) {
*/
export function isLargeVideoReceived({ getState }: IStore): boolean {
const state = getState();
const largeVideoParticipantId = state['features/large-video'].participantId;
const largeVideoParticipantId = state['features/large-video'].participantId ?? '';
const largeVideoParticipant = getParticipantById(state, largeVideoParticipantId ?? '');
const tracks = state['features/base/tracks'];
let videoTrack;
@ -59,7 +57,8 @@ export function isLargeVideoReceived({ getState }: IStore): boolean {
const lastMediaEvent = state['features/large-video']?.lastMediaEvent;
return videoTrack && !videoTrack.muted && (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough');
return Boolean(videoTrack && !videoTrack.muted
&& (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough'));
}
/**
@ -82,5 +81,6 @@ export function isRemoteVideoReceived({ getState }: IStore, id: string): boolean
}
const lastMediaEvent = videoTrack?.lastMediaEvent;
return videoTrack && !videoTrack.muted && (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough');
return Boolean(videoTrack && !videoTrack.muted
&& (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough'));
}

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import React from 'react';
import { useTranslation } from 'react-i18next';
import {
@ -95,6 +94,7 @@ const Button: React.FC<IButtonProps> = ({
contentStyle
] }
disabled = { disabled }
// @ts-ignore
icon = { icon }
labelStyle = { [

View File

@ -1,14 +1,12 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React, { ReactNode, useEffect, useLayoutEffect, useRef, useState } from 'react';
import { useSelector } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
import { getComputedOuterHeight } from '../../../../participants-pane/functions';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { Drawer, JitsiPortal } from '../../../../toolbox/components/web';
// @ts-ignore
import { showOverflowDrawer } from '../../../../toolbox/functions.web';
import participantsPaneTheme from '../../../components/themes/participantsPaneTheme.json';
import { withPixelLineHeight } from '../../../styles/functions.web';

View File

@ -3,7 +3,6 @@ import React, { ReactNode } from 'react';
import { useSelector } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
// @ts-ignore
import { showOverflowDrawer } from '../../../../toolbox/functions.web';
import Icon from '../../../icons/components/Icon';
import { withPixelLineHeight } from '../../../styles/functions.web';

View File

@ -84,19 +84,14 @@ export function getBaseUrl(w: Window = window) {
* NOTE: After React-ifying everything this should be the only global.
*/
export function getJitsiMeetGlobalNS() {
// @ts-ignore
if (!window.JitsiMeetJS) {
// @ts-ignore
window.JitsiMeetJS = {};
}
// @ts-ignore
if (!window.JitsiMeetJS.app) {
// @ts-ignore
window.JitsiMeetJS.app = {};
}
// @ts-ignore
return window.JitsiMeetJS.app;
}

View File

@ -1,6 +1,5 @@
import { Linking } from 'react-native';
// @ts-ignore
import logger from './logger';
/**

View File

@ -8,16 +8,12 @@ import { IStore } from '../app/types';
import {
conferenceLeft,
conferenceWillLeave,
createConference,
getCurrentConference
createConference
// @ts-ignore
} from '../base/conference';
} from '../base/conference/actions';
import { CONFERENCE_LEAVE_REASONS } from '../base/conference/constants';
import {
setAudioMuted,
setVideoMuted
// @ts-ignore
} from '../base/media';
import { getCurrentConference } from '../base/conference/functions';
import { setAudioMuted, setVideoMuted } from '../base/media/actions';
import { MEDIA_TYPE } from '../base/media/constants';
import { getRemoteParticipants } from '../base/participants/functions';
import {
@ -230,7 +226,7 @@ export function moveToRoom(roomId?: string) {
// dispatch(setRoom(_roomId));
dispatch(createConference(_roomId));
dispatch(setAudioMuted(audio.muted));
dispatch(setVideoMuted(video.muted));
dispatch(setVideoMuted(Boolean(video.muted)));
dispatch(createDesiredLocalTracks());
} else {
const localTracks = getLocalTracks(getState()['features/base/tracks']);

View File

@ -1,9 +1,7 @@
import _ from 'lodash';
import { IStateful } from '../base/app/types';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { getCurrentConference } from '../base/conference';
import { getCurrentConference } from '../base/conference/functions';
import { getParticipantById, getParticipantCount, isLocalParticipantModerator } from '../base/participants/functions';
import { toState } from '../base/redux/functions';

View File

@ -2,9 +2,7 @@ import { JitsiConferenceEvents } from '../base/lib-jitsi-meet';
import { getParticipantById } from '../base/participants/functions';
import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
import StateListenerRegistry from '../base/redux/StateListenerRegistry';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { editMessage } from '../chat';
import { editMessage } from '../chat/actions.any';
import { MESSAGE_TYPE_REMOTE } from '../chat/constants';
import { UPDATE_BREAKOUT_ROOMS } from './actionTypes';

View File

@ -1,16 +1,13 @@
/* eslint-disable lines-around-comment */
import React, { Component, RefObject } from 'react';
import { WithTranslation } from 'react-i18next';
import type { Dispatch } from 'redux';
import { IState } from '../../../app/types';
import { IState, IStore } from '../../../app/types';
import { isMobileBrowser } from '../../../base/environment/utils';
import { translate } from '../../../base/i18n/functions';
import { IconPlane, IconSmile } from '../../../base/icons/svg';
import { connect } from '../../../base/redux/functions';
import Button from '../../../base/ui/components/web/Button';
import Input from '../../../base/ui/components/web/Input';
// @ts-ignore
import { areSmileysDisabled } from '../../functions';
// @ts-ignore
@ -29,7 +26,7 @@ interface Props extends WithTranslation {
/**
* Invoked to send chat messages.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
/**
* Callback to invoke on message send.

View File

@ -1,12 +1,10 @@
import React, { Component } from 'react';
import { WithTranslation } from 'react-i18next';
import type { Dispatch } from 'redux';
import { IStore } from '../../../app/types';
import { translate } from '../../../base/i18n/functions';
import { connect } from '../../../base/redux/functions';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { updateSettings } from '../../../base/settings';
import { updateSettings } from '../../../base/settings/actions';
import { Button } from '../../../base/ui/components/web';
import Input from '../../../base/ui/components/web/Input';
@ -21,7 +19,7 @@ interface Props extends WithTranslation {
/**
* Invoked to set the local participant display name.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
/**
* Whether the polls feature is enabled or not.

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import throttle from 'lodash/throttle';
import React, { RefObject } from 'react';
import { scrollIntoView } from 'seamless-scroll-polyfill';
@ -11,14 +10,17 @@ import ChatMessageGroup from './ChatMessageGroup';
import NewMessagesButton from './NewMessagesButton';
interface State {
/**
* Whether or not message container has received new messages.
*/
hasNewMessages: boolean;
/**
* Whether or not scroll position is at the bottom of container.
*/
isScrolledToBottom: boolean;
/**
* The id of the last read message.
*/
@ -275,6 +277,7 @@ export default class MessageContainer extends AbstractMessageContainer<Props, St
*/
_findFirstUnreadMessage() {
const messagesNodeList = document.querySelectorAll('.chatmessage-wrapper');
// @ts-ignore
const messagesToArray = [ ...messagesNodeList ];

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import React from 'react';
import Icon from '../../../../base/icons/components/Icon';

View File

@ -1,10 +1,10 @@
/* eslint-disable lines-around-comment */
import React from 'react';
import { useTranslation } from 'react-i18next';
import { Text, View } from 'react-native';
import EndMeetingButton from './EndMeetingButton';
import SoundDeviceButton from './SoundDeviceButton';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import styles from './styles';

View File

@ -10,14 +10,12 @@ import {
} from '../../../../analytics/AnalyticsEvents';
import { sendAnalytics } from '../../../../analytics/functions';
import { IState } from '../../../../app/types';
// @ts-ignore
import { AUDIO_MUTE_BUTTON_ENABLED, getFeatureFlag } from '../../../../base/flags';
import { AUDIO_MUTE_BUTTON_ENABLED } from '../../../../base/flags/constants';
import { getFeatureFlag } from '../../../../base/flags/functions';
import Icon from '../../../../base/icons/components/Icon';
import { IconMicrophone, IconMicrophoneEmptySlash } from '../../../../base/icons/svg';
import { MEDIA_TYPE } from '../../../../base/media/constants';
// @ts-ignore
import { isLocalTrackMuted } from '../../../../base/tracks';
// @ts-ignore
import { isLocalTrackMuted } from '../../../../base/tracks/functions';
import { isAudioMuteButtonDisabled } from '../../../../toolbox/functions.any';
// @ts-ignore
import { muteLocal } from '../../../../video-menu/actions';
@ -37,7 +35,7 @@ const MicrophoneButton = (): JSX.Element | null => {
const audioMuted = useSelector((state: IState) => isLocalTrackMuted(state['features/base/tracks'],
MEDIA_TYPE.AUDIO));
const disabled = useSelector(isAudioMuteButtonDisabled);
const enabledFlag = useSelector(state => getFeatureFlag(state, AUDIO_MUTE_BUTTON_ENABLED, true));
const enabledFlag = useSelector((state: IState) => getFeatureFlag(state, AUDIO_MUTE_BUTTON_ENABLED, true));
const [ longPress, setLongPress ] = useState(false);
if (!enabledFlag) {

View File

@ -2,7 +2,6 @@
import React, { useCallback } from 'react';
import { useDispatch } from 'react-redux';
// @ts-ignore
import { openSheet } from '../../../../base/dialog/actions';
import Button from '../../../../base/ui/components/native/Button';
import { BUTTON_TYPES } from '../../../../base/ui/constants';

View File

@ -4,11 +4,9 @@ import { StyleProp, Text, View, ViewStyle } from 'react-native';
import { useSelector } from 'react-redux';
import { IState } from '../../../../app/types';
// @ts-ignore
import { getConferenceName } from '../../../../base/conference/functions';
// @ts-ignore
import { MEETING_NAME_ENABLED, getFeatureFlag } from '../../../../base/flags';
// @ts-ignore
import { MEETING_NAME_ENABLED } from '../../../../base/flags/constants';
import { getFeatureFlag } from '../../../../base/flags/functions';
import { JitsiRecordingConstants } from '../../../../base/lib-jitsi-meet';
import { getLocalParticipant } from '../../../../base/participants/functions';
import { connect } from '../../../../base/redux/functions';

View File

@ -5,8 +5,7 @@ import { useDispatch, useSelector } from 'react-redux';
import { IState } from '../../../app/types';
import { IconMenuDown } from '../../../base/icons/svg/index';
// @ts-ignore
import { Label } from '../../../base/label';
import Label from '../../../base/label/components/web/Label';
// @ts-ignore
import { Tooltip } from '../../../base/tooltip';
// @ts-ignore

View File

@ -6,11 +6,9 @@ import clsx from 'clsx';
import React from 'react';
import { WithTranslation } from 'react-i18next';
import { connect } from 'react-redux';
import type { Dispatch } from 'redux';
import { IState } from '../../../app/types';
// @ts-ignore
import { getSourceNameSignalingFeatureFlag } from '../../../base/config';
import { IState, IStore } from '../../../app/types';
import { getSourceNameSignalingFeatureFlag } from '../../../base/config/functions.any';
import { translate } from '../../../base/i18n/functions';
import { MEDIA_TYPE } from '../../../base/media/constants';
import {
@ -24,8 +22,7 @@ import {
getSourceNameByParticipantId,
getTrackByMediaTypeAndParticipant,
getVirtualScreenshareParticipantTrack
// @ts-ignore
} from '../../../base/tracks';
} from '../../../base/tracks/functions';
import {
isParticipantConnectionStatusInactive,
isParticipantConnectionStatusInterrupted,
@ -131,7 +128,7 @@ type Props = AbstractProps & WithTranslation & {
/**
* The Redux dispatch function.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
/**
* Whether or not clicking the indicator should display a popover for more

View File

@ -20,7 +20,7 @@ export function isTrackStreamingStatusActive(videoTrack: ITrack) {
* @param {Object} videoTrack - Track reference.
* @returns {boolean} - Is streaming status inactive.
*/
export function isTrackStreamingStatusInactive(videoTrack: ITrack) {
export function isTrackStreamingStatusInactive(videoTrack?: ITrack) {
const streamingStatus = videoTrack?.streamingStatus;
return streamingStatus === JitsiTrackStreamingStatus.INACTIVE;
@ -32,7 +32,7 @@ export function isTrackStreamingStatusInactive(videoTrack: ITrack) {
* @param {Object} videoTrack - Track reference.
* @returns {boolean} - Is streaming status interrupted.
*/
export function isTrackStreamingStatusInterrupted(videoTrack: ITrack) {
export function isTrackStreamingStatusInterrupted(videoTrack?: ITrack) {
const streamingStatus = videoTrack?.streamingStatus;
return streamingStatus === JitsiTrackStreamingStatus.INTERRUPTED;

View File

@ -1,9 +1,8 @@
import { Component } from 'react';
import { WithTranslation } from 'react-i18next';
import type { Dispatch } from 'redux';
// @ts-ignore
import { updateSettings } from '../../base/settings';
import { IStore } from '../../app/types';
import { updateSettings } from '../../base/settings/actions';
/**
* The type of the React {@code Component} props of
@ -14,7 +13,7 @@ export interface Props extends WithTranslation {
/**
* Invoked to update the local participant's display name.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
/**
* Function to be invoked after a successful display name change.

View File

@ -4,16 +4,14 @@ import { withStyles } from '@mui/styles';
import React, { Component } from 'react';
import { WithTranslation } from 'react-i18next';
import { connect } from 'react-redux';
import type { Dispatch } from 'redux';
import { IState } from '../../../app/types';
import { IState, IStore } from '../../../app/types';
import { translate } from '../../../base/i18n/functions';
import {
getParticipantById,
getParticipantDisplayName
} from '../../../base/participants/functions';
// @ts-ignore
import { updateSettings } from '../../../base/settings';
import { updateSettings } from '../../../base/settings/actions';
import { withPixelLineHeight } from '../../../base/styles/functions.web';
// @ts-ignore
import { Tooltip } from '../../../base/tooltip';
@ -50,7 +48,7 @@ interface Props extends WithTranslation {
/**
* Invoked to update the participant's display name.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
/**
* A string to append to the displayName, if provided.

View File

@ -6,7 +6,6 @@ import { useSelector } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
import { IState } from '../../../app/types';
// @ts-ignore
import { isDisplayNameVisible } from '../../../base/config/functions.any';
import {
getLocalParticipant,
@ -17,7 +16,6 @@ import { Participant } from '../../../base/participants/types';
import { withPixelLineHeight } from '../../../base/styles/functions.web';
// @ts-ignore
import { getLargeVideoParticipant } from '../../../large-video/functions';
// @ts-ignore
import { isToolboxVisible } from '../../../toolbox/functions.web';
// @ts-ignore
import { isLayoutTileView } from '../../../video-layout';

View File

@ -1,18 +1,14 @@
/* eslint-disable lines-around-comment */
import React, { Component } from 'react';
import { WithTranslation } from 'react-i18next';
import type { Dispatch } from 'redux';
import { createE2EEEvent } from '../../analytics/AnalyticsEvents';
import { sendAnalytics } from '../../analytics/functions';
import { IState } from '../../app/types';
import { IState, IStore } from '../../app/types';
import { translate } from '../../base/i18n/functions';
import { connect } from '../../base/redux/functions';
import Switch from '../../base/ui/components/web/Switch';
// @ts-ignore
import { toggleE2EE } from '../actions';
import { MAX_MODE } from '../constants';
// @ts-ignore
import { doesEveryoneSupportE2EE } from '../functions';
interface Props extends WithTranslation {
@ -45,7 +41,7 @@ interface Props extends WithTranslation {
/**
* The redux {@code dispatch} function.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
}
type State = {

View File

@ -1,8 +1,6 @@
/* eslint-disable lines-around-comment */
import 'image-capture';
import './createImageBitmap';
import { IStore } from '../app/types';
// @ts-ignore
import { getLocalVideoTrack } from '../base/tracks/functions';
import { getBaseUrl } from '../base/util/helpers';
@ -98,6 +96,7 @@ class FaceLandmarksDetector {
const baseUrl = `${getBaseUrl()}libs/`;
let workerUrl = `${baseUrl}face-landmarks-worker.min.js`;
// @ts-ignore
const workerBlob = new Blob([ `importScripts("${workerUrl}");` ], { type: 'application/javascript' });

View File

@ -1,7 +1,5 @@
/* eslint-disable lines-around-comment */
import { IState } from '../app/types';
import { getLocalParticipant } from '../base/participants/functions';
// @ts-ignore
import { extractFqnFromPath } from '../dynamic-branding/functions.any';
import { DETECT_FACE, FACE_BOX_EVENT_TYPE, SEND_IMAGE_INTERVAL_MS } from './constants';

View File

@ -1,10 +1,8 @@
/* eslint-disable lines-around-comment */
import { IStore } from '../app/types';
import {
CONFERENCE_JOINED,
CONFERENCE_WILL_LEAVE
} from '../base/conference/actionTypes';
// @ts-ignore
import { getCurrentConference } from '../base/conference/functions';
import { JitsiConferenceEvents } from '../base/lib-jitsi-meet';
import { getLocalParticipant, getParticipantCount } from '../base/participants/functions';

View File

@ -5,24 +5,20 @@ import _ from 'lodash';
import React, { PureComponent } from 'react';
import { WithTranslation } from 'react-i18next';
import { FixedSizeGrid, FixedSizeList } from 'react-window';
import type { Dispatch } from 'redux';
import { ACTION_SHORTCUT_TRIGGERED, createShortcutEvent, createToolbarEvent } from '../../../analytics/AnalyticsEvents';
import { sendAnalytics } from '../../../analytics/functions';
import { IState } from '../../../app/types';
// @ts-ignore
import { getSourceNameSignalingFeatureFlag, getToolbarButtons } from '../../../base/config';
import { IState, IStore } from '../../../app/types';
import { getSourceNameSignalingFeatureFlag, getToolbarButtons } from '../../../base/config/functions.web';
import { isMobileBrowser } from '../../../base/environment/utils';
import { translate } from '../../../base/i18n/functions';
import Icon from '../../../base/icons/components/Icon';
import { IconMenuDown, IconMenuUp } from '../../../base/icons/svg';
import { Participant } from '../../../base/participants/types';
import { connect } from '../../../base/redux/functions';
// @ts-ignore
import { shouldHideSelfView } from '../../../base/settings/functions.any';
// @ts-ignore
import { showToolbox } from '../../../toolbox/actions.web';
// @ts-ignore
import { isButtonEnabled, isToolboxVisible } from '../../../toolbox/functions.web';
// @ts-ignore
import { getCurrentLayout } from '../../../video-layout';
@ -232,7 +228,7 @@ interface Props extends WithTranslation {
/**
* The redux {@code dispatch} function.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
/**
* The type of filmstrip to be displayed.

View File

@ -11,8 +11,10 @@ import { sendAnalytics } from '../../../analytics/functions';
import { IState } from '../../../app/types';
// @ts-ignore
import { Avatar } from '../../../base/avatar';
// @ts-ignore
import { getMultipleVideoSupportFeatureFlag, getSourceNameSignalingFeatureFlag } from '../../../base/config';
import {
getMultipleVideoSupportFeatureFlag,
getSourceNameSignalingFeatureFlag
} from '../../../base/config/functions.web';
import { isMobileBrowser } from '../../../base/environment/utils';
import { JitsiTrackEvents } from '../../../base/lib-jitsi-meet';
// @ts-ignore
@ -29,21 +31,16 @@ import {
} from '../../../base/participants/functions';
import { Participant } from '../../../base/participants/types';
import { ASPECT_RATIO_NARROW } from '../../../base/responsive-ui/constants';
// @ts-ignore
import { isTestModeEnabled } from '../../../base/testing';
import { isTestModeEnabled } from '../../../base/testing/functions';
import { trackStreamingStatusChanged, updateLastTrackVideoMediaEvent } from '../../../base/tracks/actions';
import {
getLocalAudioTrack,
getLocalVideoTrack,
getTrackByMediaTypeAndParticipant,
getVirtualScreenshareParticipantTrack,
trackStreamingStatusChanged,
updateLastTrackVideoMediaEvent
// @ts-ignore
} from '../../../base/tracks';
getVirtualScreenshareParticipantTrack
} from '../../../base/tracks/functions';
import { getVideoObjectPosition } from '../../../face-landmarks/functions';
// @ts-ignore
import { hideGif, showGif } from '../../../gifs/actions';
// @ts-ignore
import { getGifDisplayMode, getGifForParticipant } from '../../../gifs/functions';
// @ts-ignore
import { PresenceLabel } from '../../../presence-status';
@ -1178,7 +1175,7 @@ function _mapStateToProps(state: IState, ownProps: any): Object {
const { participantID, filmstripType = FILMSTRIP_TYPE.MAIN } = ownProps;
const participant = getParticipantByIdOrUndefined(state, participantID);
const id = participant?.id;
const id = participant?.id ?? '';
const isLocal = participant?.local ?? true;
const multipleVideoSupportEnabled = getMultipleVideoSupportFeatureFlag(state);
const sourceNameSignalingEnabled = getSourceNameSignalingFeatureFlag(state);

View File

@ -9,7 +9,6 @@ import {
getMultipleVideoSupportFeatureFlag,
isDisplayNameVisible,
isNameReadOnly
// @ts-ignore
} from '../../../base/config/functions.any';
import { isScreenShareParticipantById } from '../../../base/participants/functions';
// @ts-ignore

View File

@ -5,8 +5,7 @@ import { useSelector } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
import { IState } from '../../../app/types';
// @ts-ignore
import { getMultipleVideoSupportFeatureFlag } from '../../../base/config';
import { getMultipleVideoSupportFeatureFlag } from '../../../base/config/functions.any';
import { isMobileBrowser } from '../../../base/environment/utils';
import { isScreenShareParticipantById } from '../../../base/participants/functions';
// @ts-ignore

View File

@ -45,7 +45,7 @@ type Props = {
const VideoMenuTriggerButton = ({
hidePopover,
local,
participantId,
participantId = '',
popoverVisible,
showPopover,
thumbnailType,

View File

@ -11,7 +11,6 @@ import { createGifSentEvent } from '../../../analytics/AnalyticsEvents';
import { sendAnalytics } from '../../../analytics/functions';
import { IState } from '../../../app/types';
import Input from '../../../base/ui/components/web/Input';
// @ts-ignore
import { sendMessage } from '../../../chat/actions.any';
import { SCROLL_SIZE } from '../../../filmstrip/constants';
import { toggleReactionsMenuVisibility } from '../../../reactions/actions.web';
@ -19,11 +18,8 @@ import { toggleReactionsMenuVisibility } from '../../../reactions/actions.web';
import { setOverflowMenuVisible } from '../../../toolbox/actions.web';
// @ts-ignore
import { Drawer, JitsiPortal } from '../../../toolbox/components/web';
// @ts-ignore
import { showOverflowDrawer } from '../../../toolbox/functions.web';
// @ts-ignore
import { setGifDrawerVisibility } from '../../actions';
// @ts-ignore
import { formatGifUrlMessage, getGifAPIKey, getGifUrl } from '../../functions';
const OVERFLOW_DRAWER_PADDING = 16;

View File

@ -10,11 +10,9 @@ import { translate } from '../../../../base/i18n/functions';
import { JitsiRecordingConstants } from '../../../../base/lib-jitsi-meet';
import { connect } from '../../../../base/redux/functions';
import Dialog from '../../../../base/ui/components/web/Dialog';
// @ts-ignore
import { isDynamicBrandingDataLoaded } from '../../../../dynamic-branding/functions.any';
// @ts-ignore
import EmbedMeetingTrigger from '../../../../embed-meeting/components/EmbedMeetingTrigger';
// @ts-ignore
import { isVpaasMeeting } from '../../../../jaas/functions';
// @ts-ignore
import { getActiveSession } from '../../../../recording';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React from 'react';
import { WithTranslation } from 'react-i18next';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React, { useCallback } from 'react';
import { WithTranslation } from 'react-i18next';
@ -6,6 +5,7 @@ import { useStore } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
import { translate } from '../../base/i18n/functions';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { setSeeWhatIsBeingShared } from '../actions.web';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import React, { PureComponent } from 'react';
import { WithTranslation } from 'react-i18next';
@ -7,8 +6,8 @@ import { translate } from '../../../base/i18n/functions';
import { isLocalParticipantModerator } from '../../../base/participants/functions';
import { connect } from '../../../base/redux/functions';
import Switch from '../../../base/ui/components/web/Switch';
// @ts-ignore
import { isInBreakoutRoom } from '../../../breakout-rooms/functions';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { toggleLobbyMode } from '../../actions';

View File

@ -1,5 +1,4 @@
// @ts-ignore
import { CONFERENCE_JOINED, CONFERENCE_LEFT, SET_PASSWORD } from '../base/conference';
import { CONFERENCE_JOINED, CONFERENCE_LEFT, SET_PASSWORD } from '../base/conference/actionTypes';
import { Participant } from '../base/participants/types';
import ReducerRegistry from '../base/redux/ReducerRegistry';

View File

@ -1,10 +1,6 @@
/* eslint-disable lines-around-comment */
import { Dispatch } from 'redux';
// @ts-ignore
import { getLocalJitsiAudioTrack } from '../base/tracks';
// @ts-ignore
import { showErrorNotification } from '../notifications';
import { IStore } from '../app/types';
import { getLocalJitsiAudioTrack } from '../base/tracks/functions';
import { showErrorNotification } from '../notifications/actions';
import { NOTIFICATION_TIMEOUT_TYPE } from '../notifications/constants';
import { NoiseSuppressionEffect } from '../stream-effects/noise-suppression/NoiseSuppressionEffect';
@ -34,7 +30,7 @@ export function setNoiseSuppressionEnabledState(enabled: boolean): any {
* @returns {Function}
*/
export function toggleNoiseSuppression(): any {
return (dispatch: Dispatch, getState: Function) => {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
if (isNoiseSuppressionEnabled(getState())) {
dispatch(setNoiseSuppressionEnabled(false));
} else {
@ -51,7 +47,7 @@ export function toggleNoiseSuppression(): any {
* @returns {Function}
*/
export function setNoiseSuppressionEnabled(enabled: boolean): any {
return async (dispatch: Dispatch, getState: Function) => {
return async (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const state = getState();
const localAudio = getLocalJitsiAudioTrack(state);
@ -82,6 +78,7 @@ export function setNoiseSuppressionEnabled(enabled: boolean): any {
error
);
// @ts-ignore
dispatch(showErrorNotification({
titleKey: 'notify.noiseSuppressionFailedTitle'
}, NOTIFICATION_TIMEOUT_TYPE.MEDIUM));

View File

@ -1,10 +1,7 @@
/* eslint-disable lines-around-comment */
import { IState } from '../app/types';
// @ts-ignore
import { showWarningNotification } from '../notifications';
import { showWarningNotification } from '../notifications/actions';
import { NOTIFICATION_TIMEOUT_TYPE } from '../notifications/constants';
// @ts-ignore
import { isScreenAudioShared } from '../screen-share';
import { isScreenAudioShared } from '../screen-share/functions';
/**
* Is noise suppression currently enabled.

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { FlagGroupContext } from '@atlaskit/flag/flag-group';
import { AtlasKitThemeProvider } from '@atlaskit/theme';
import { Theme } from '@mui/material';
@ -11,9 +10,7 @@ import { CSSTransition, TransitionGroup } from 'react-transition-group';
import { IState } from '../../../app/types';
import { translate } from '../../../base/i18n/functions';
import { connect } from '../../../base/redux/functions';
// @ts-ignore
import { hideNotification } from '../../actions';
// @ts-ignore
import { areThereNotifications } from '../../functions';
// @ts-ignore

View File

@ -1,10 +1,8 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react';
import { useDispatch } from 'react-redux';
import Button from '../../../../../base/ui/components/native/Button';
import { BUTTON_TYPES } from '../../../../../base/ui/constants';
// @ts-ignore
import { createBreakoutRoom } from '../../../../../breakout-rooms/actions';
// @ts-ignore

View File

@ -1,10 +1,8 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react';
import { useDispatch } from 'react-redux';
import Button from '../../../../../base/ui/components/native/Button';
import { BUTTON_TYPES } from '../../../../../base/ui/constants';
// @ts-ignore
import { autoAssignToBreakoutRooms } from '../../../../../breakout-rooms/actions';
// @ts-ignore

View File

@ -6,7 +6,6 @@ import { createBreakoutRoomsEvent } from '../../../../../analytics/AnalyticsEven
import { sendAnalytics } from '../../../../../analytics/functions';
import Button from '../../../../../base/ui/components/native/Button';
import { BUTTON_TYPES } from '../../../../../base/ui/constants';
// @ts-ignore
import { moveToRoom } from '../../../../../breakout-rooms/actions';
// @ts-ignore

View File

@ -1,11 +1,9 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch } from 'react-redux';
import Button from '../../../../../base/ui/components/web/Button';
import { BUTTON_TYPES } from '../../../../../base/ui/constants';
// @ts-ignore
import { createBreakoutRoom } from '../../../../../breakout-rooms/actions';
export const AddBreakoutRoomButton = () => {

View File

@ -1,11 +1,9 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch } from 'react-redux';
import Button from '../../../../../base/ui/components/web/Button';
import { BUTTON_TYPES } from '../../../../../base/ui/constants';
// @ts-ignore
import { autoAssignToBreakoutRooms } from '../../../../../breakout-rooms/actions';
export const AutoAssignButton = () => {

View File

@ -1,5 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React, { ReactElement, useCallback, useState } from 'react';
import { useTranslation } from 'react-i18next';
@ -12,7 +10,6 @@ import Icon from '../../../../../base/icons/components/Icon';
import { IconArrowDown, IconArrowUp } from '../../../../../base/icons/svg';
import { isLocalParticipantModerator } from '../../../../../base/participants/functions';
import { withPixelLineHeight } from '../../../../../base/styles/functions.web';
// @ts-ignore
import { showOverflowDrawer } from '../../../../../toolbox/functions.web';
import { ACTION_TRIGGER } from '../../../../constants';
import { participantMatchesSearch } from '../../../../functions';

View File

@ -1,5 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
@ -9,7 +7,6 @@ import { makeStyles } from 'tss-react/mui';
import { createBreakoutRoomsEvent } from '../../../../../analytics/AnalyticsEvents';
import { sendAnalytics } from '../../../../../analytics/functions';
import Button from '../../../../../base/ui/components/web/Button';
// @ts-ignore
import { moveToRoom } from '../../../../../breakout-rooms/actions';
type Props = {

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch } from 'react-redux';
@ -7,7 +6,6 @@ import { createBreakoutRoomsEvent } from '../../../../../analytics/AnalyticsEven
import { sendAnalytics } from '../../../../../analytics/functions';
import Button from '../../../../../base/ui/components/web/Button';
import { BUTTON_TYPES } from '../../../../../base/ui/constants';
// @ts-ignore
import { moveToRoom } from '../../../../../breakout-rooms/actions';
export const LeaveButton = () => {

View File

@ -10,9 +10,7 @@ import { Avatar } from '../../../../../base/avatar';
import { isLocalParticipantModerator } from '../../../../../base/participants/functions';
import ContextMenu from '../../../../../base/ui/components/web/ContextMenu';
import ContextMenuItemGroup from '../../../../../base/ui/components/web/ContextMenuItemGroup';
// @ts-ignore
import { getBreakoutRooms } from '../../../../../breakout-rooms/functions';
// @ts-ignore
import { showOverflowDrawer } from '../../../../../toolbox/functions.web';
// @ts-ignore
import SendToRoomButton from '../../../../../video-menu/components/web/SendToRoomButton';

View File

@ -3,8 +3,7 @@ import React, { useCallback } from 'react';
import { View } from 'react-native';
import { useDispatch, useSelector } from 'react-redux';
// @ts-ignore
import { openDialog, openSheet } from '../../../base/dialog';
import { openDialog, openSheet } from '../../../base/dialog/actions';
import { IconHorizontalPoints } from '../../../base/icons/svg';
import IconButton from '../../../base/react/components/native/IconButton';
import Button from '../../../base/ui/components/native/Button';
@ -12,7 +11,6 @@ import { BUTTON_TYPES } from '../../../base/ui/constants';
import MuteEveryoneDialog
// @ts-ignore
from '../../../video-menu/components/native/MuteEveryoneDialog';
// @ts-ignore
import { isMoreActionsVisible, isMuteAllVisible } from '../../functions';
// @ts-ignore

View File

@ -12,7 +12,6 @@ import { BottomSheet, hideSheet } from '../../../base/dialog';
import { bottomSheetStyles } from '../../../base/dialog/components/native/styles';
import { translate } from '../../../base/i18n/functions';
import { connect } from '../../../base/redux/functions';
// @ts-ignore
import { getBreakoutRooms } from '../../../breakout-rooms/functions';
// @ts-ignore
import SendToBreakoutRoom from '../../../video-menu/components/native/SendToBreakoutRoom';

View File

@ -10,15 +10,12 @@ import {
requestDisableVideoModeration,
requestEnableAudioModeration,
requestEnableVideoModeration
// @ts-ignore
} from '../../../av-moderation/actions';
import {
isEnabled as isAvModerationEnabled,
isSupported as isAvModerationSupported
// @ts-ignore
} from '../../../av-moderation/functions';
// @ts-ignore
import { openDialog } from '../../../base/dialog';
import { openDialog } from '../../../base/dialog/actions';
import {
IconCheck,
IconHorizontalPoints,
@ -31,7 +28,6 @@ import {
} from '../../../base/participants/functions';
import ContextMenu from '../../../base/ui/components/web/ContextMenu';
import ContextMenuItemGroup from '../../../base/ui/components/web/ContextMenuItemGroup';
// @ts-ignore
import { isInBreakoutRoom } from '../../../breakout-rooms/functions';
import {
openSettingsDialog,

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch } from 'react-redux';
@ -8,6 +7,7 @@ import { sendAnalytics } from '../../../analytics/functions';
import { IconInviteMore } from '../../../base/icons/svg';
import Button from '../../../base/ui/components/web/Button';
import { BUTTON_TYPES } from '../../../base/ui/constants';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { beginAddPeople } from '../../../invite';

View File

@ -16,8 +16,7 @@ import { admitMultiple } from '../../../lobby/actions.web';
import { getKnockingParticipants, getLobbyEnabled } from '../../../lobby/functions';
// @ts-ignore
import { Drawer, JitsiPortal } from '../../../toolbox/components/web';
// @ts-ignore
import { showOverflowDrawer } from '../../../toolbox/functions';
import { showOverflowDrawer } from '../../../toolbox/functions.web';
// @ts-ignore
import { useLobbyActions, useParticipantDrawer } from '../../hooks';

View File

@ -7,10 +7,8 @@ import { useDispatch, useSelector } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
import { IState } from '../../../app/types';
// @ts-ignore
import { rejectParticipantAudio } from '../../../av-moderation/actions';
import participantsPaneTheme from '../../../base/components/themes/participantsPaneTheme.json';
// @ts-ignore
import { isToolbarButtonEnabled } from '../../../base/config/functions.web';
import { MEDIA_TYPE } from '../../../base/media/constants';
import { getParticipantById, isScreenShareParticipant } from '../../../base/participants/functions';
@ -19,13 +17,10 @@ import { withPixelLineHeight } from '../../../base/styles/functions.web';
import Input from '../../../base/ui/components/web/Input';
import useContextMenu from '../../../base/ui/hooks/useContextMenu';
import { normalizeAccents } from '../../../base/util/strings.web';
// @ts-ignore
import { getBreakoutRooms, getCurrentRoomId, isInBreakoutRoom } from '../../../breakout-rooms/functions';
// @ts-ignore
import { showOverflowDrawer } from '../../../toolbox/functions';
import { showOverflowDrawer } from '../../../toolbox/functions.web';
// @ts-ignore
import { muteRemote } from '../../../video-menu/actions.any';
// @ts-ignore
import { getSortedParticipantIds, shouldRenderInviteButton } from '../../functions';
// @ts-ignore
import { useParticipantDrawer } from '../../hooks';

View File

@ -1,5 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React, { ReactElement, useCallback } from 'react';
import { WithTranslation } from 'react-i18next';

View File

@ -1,15 +1,11 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
// @ts-ignore
import { approveParticipant } from '../../../av-moderation/actions';
import Button from '../../../base/ui/components/web/Button';
// @ts-ignore
import { QUICK_ACTION_BUTTON } from '../../constants';
type Props = {

View File

@ -6,17 +6,14 @@ import { WithTranslation } from 'react-i18next';
import { IState } from '../../../app/types';
import participantsPaneTheme from '../../../base/components/themes/participantsPaneTheme.json';
// @ts-ignore
import { openDialog } from '../../../base/dialog';
import { openDialog } from '../../../base/dialog/actions';
import { translate } from '../../../base/i18n/functions';
import { IconClose, IconHorizontalPoints } from '../../../base/icons/svg';
// @ts-ignore
import { isLocalParticipantModerator } from '../../../base/participants/functions';
import { connect } from '../../../base/redux/functions';
import Button from '../../../base/ui/components/web/Button';
import ClickableIcon from '../../../base/ui/components/web/ClickableIcon';
import { BUTTON_TYPES } from '../../../base/ui/constants';
// @ts-ignore
import { isAddBreakoutRoomButtonVisible } from '../../../breakout-rooms/functions';
// @ts-ignore
import { MuteEveryoneDialog } from '../../../video-menu/components/';
@ -27,7 +24,6 @@ import {
getParticipantsPaneOpen,
isMoreActionsVisible,
isMuteAllVisible
// @ts-ignore
} from '../../functions';
import { AddBreakoutRoomButton } from '../breakout-rooms/components/web/AddBreakoutRoomButton';
// @ts-ignore

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { IState } from '../app/types';
import {
isEnabledFromState,
@ -7,8 +6,8 @@ import {
isSupported
} from '../av-moderation/functions';
import { IStateful } from '../base/app/types';
// @ts-ignore
import { INVITE_ENABLED, getFeatureFlag } from '../base/flags';
import { INVITE_ENABLED } from '../base/flags/constants';
import { getFeatureFlag } from '../base/flags/functions';
import { MEDIA_TYPE, type MediaType } from '../base/media/constants';
import {
getDominantSpeakerParticipant,
@ -20,6 +19,7 @@ import {
} from '../base/participants/functions';
import { Participant } from '../base/participants/types';
import { toState } from '../base/redux/functions';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { normalizeAccents } from '../base/util/strings';
import { isInBreakoutRoom } from '../breakout-rooms/functions';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import React, { ComponentType, useCallback, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch, useSelector } from 'react-redux';
@ -8,7 +7,6 @@ import { sendAnalytics } from '../../analytics/functions';
import { IState } from '../../app/types';
import { getLocalParticipant, getParticipantById } from '../../base/participants/functions';
import { useBoundSelector } from '../../base/util/hooks';
// @ts-ignore
import { registerVote, setVoteChanging } from '../actions';
import { COMMAND_ANSWER_POLL } from '../constants';
import { Poll } from '../types';

View File

@ -7,7 +7,6 @@ import { getLocalParticipant } from '../../../base/participants/functions';
import Button from '../../../base/ui/components/native/Button';
import Switch from '../../../base/ui/components/native/Switch';
import { BUTTON_TYPES } from '../../../base/ui/constants';
// @ts-ignore
import { isSubmitAnswerDisabled } from '../../functions';
import AbstractPollAnswer, { AbstractProps } from '../AbstractPollAnswer';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import React from 'react';
import { makeStyles } from 'tss-react/mui';
@ -7,7 +6,6 @@ import { makeStyles } from 'tss-react/mui';
import Button from '../../../base/ui/components/web/Button';
import Checkbox from '../../../base/ui/components/web/Checkbox';
import { BUTTON_TYPES } from '../../../base/ui/constants';
// @ts-ignore
import { isSubmitAnswerDisabled } from '../../functions';
import AbstractPollAnswer, { AbstractProps } from '../AbstractPollAnswer';

View File

@ -17,9 +17,7 @@ import { useDispatch, useSelector } from 'react-redux';
// @ts-ignore
import { appNavigate } from '../../app/actions.native';
import { IState } from '../../app/types';
// @ts-ignore
import { setAudioOnly } from '../../base/audio-only/actions';
// @ts-ignore
import { getConferenceName } from '../../base/conference/functions';
// @ts-ignore
import { connect } from '../../base/connection/actions.native';
@ -30,8 +28,7 @@ import { getLocalParticipant } from '../../base/participants/functions';
// @ts-ignore
import { getFieldValue } from '../../base/react';
import { ASPECT_RATIO_NARROW } from '../../base/responsive-ui/constants';
// @ts-ignore
import { updateSettings } from '../../base/settings';
import { updateSettings } from '../../base/settings/actions';
import BaseTheme from '../../base/ui/components/BaseTheme.native';
import Button from '../../base/ui/components/native/Button';
import { BUTTON_TYPES } from '../../base/ui/constants';
@ -48,7 +45,6 @@ import { screen } from '../../mobile/navigation/routes';
import AudioMuteButton from '../../toolbox/components/AudioMuteButton';
// @ts-ignore
import VideoMuteButton from '../../toolbox/components/VideoMuteButton';
// @ts-ignore
import { isDisplayNameRequired } from '../functions';
import { PrejoinProps } from '../types';

View File

@ -11,8 +11,6 @@ import { connect } from '../../../base/redux/functions';
import {
getDeviceStatusText,
getDeviceStatusType
// @ts-ignore
} from '../../functions';
export interface Props extends WithTranslation {

View File

@ -16,7 +16,6 @@ import { getLocalParticipant, hasRaisedHand } from '../../../base/participants/f
import GifsMenu from '../../../gifs/components/web/GifsMenu';
// @ts-ignore
import GifsMenuButton from '../../../gifs/components/web/GifsMenuButton';
// @ts-ignore
import { isGifEnabled, isGifsMenuOpen } from '../../../gifs/functions';
// @ts-ignore
import { dockToolbox } from '../../../toolbox/actions.web';

View File

@ -1,11 +1,9 @@
/* eslint-disable lines-around-comment */
import { v4 as uuidv4 } from 'uuid';
import { IState } from '../app/types';
// @ts-ignore
import { REACTIONS_ENABLED, getFeatureFlag } from '../base/flags';
import { REACTIONS_ENABLED } from '../base/flags/constants';
import { getFeatureFlag } from '../base/flags/functions';
import { getLocalParticipant } from '../base/participants/functions';
// @ts-ignore
import { extractFqnFromPath } from '../dynamic-branding/functions.any';
import { REACTIONS, ReactionEmojiProps, ReactionThreshold, SOUNDS_THRESHOLDS } from './constants';

View File

@ -1,16 +1,13 @@
/* eslint-disable lines-around-comment */
import { batch } from 'react-redux';
import { createReactionSoundsDisabledEvent } from '../analytics/AnalyticsEvents';
import { sendAnalytics } from '../analytics/functions';
import { IStore } from '../app/types';
import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../base/app/actionTypes';
import {
CONFERENCE_JOIN_IN_PROGRESS,
SET_START_REACTIONS_MUTED,
setStartReactionsMuted
// @ts-ignore
} from '../base/conference';
import { CONFERENCE_JOIN_IN_PROGRESS, SET_START_REACTIONS_MUTED } from '../base/conference/actionTypes';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { setStartReactionsMuted } from '../base/conference/actions';
import {
getParticipantById,
getParticipantCount,
@ -18,14 +15,11 @@ import {
} from '../base/participants/functions';
import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
import { SETTINGS_UPDATED } from '../base/settings/actionTypes';
// @ts-ignore
import { updateSettings } from '../base/settings/actions';
// @ts-ignore
import { playSound, registerSound, unregisterSound } from '../base/sounds';
// @ts-ignore
import { playSound, registerSound, unregisterSound } from '../base/sounds/actions';
import { getDisabledSounds } from '../base/sounds/functions.any';
// @ts-ignore
import { NOTIFICATION_TIMEOUT_TYPE, showNotification } from '../notifications';
import { showNotification } from '../notifications/actions';
import { NOTIFICATION_TIMEOUT_TYPE } from '../notifications/constants';
import {
ADD_REACTION_BUFFER,

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { getURLWithoutParamsNormalized } from '../base/connection/utils';
import PersistenceRegistry from '../base/redux/PersistenceRegistry';
import ReducerRegistry from '../base/redux/ReducerRegistry';
@ -8,6 +7,7 @@ import {
_STORE_CURRENT_CONFERENCE,
_UPDATE_CONFERENCE_DURATION
} from './actionTypes';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { isRecentListEnabled } from './functions';

View File

@ -16,7 +16,6 @@ import {
import { StyleType } from '../../../base/styles';
// @ts-ignore
import { authorizeDropbox, updateDropboxToken } from '../../../dropbox';
// @ts-ignore
import { isVpaasMeeting } from '../../../jaas/functions';
import { RECORDING_TYPES } from '../../constants';
// @ts-ignore

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import i18next from 'i18next';
import { v4 as uuidV4 } from 'uuid';
import fixWebmDuration from 'webm-duration-fix';
@ -8,6 +7,7 @@ import { getRoomName } from '../../../base/conference/functions';
import { MEDIA_TYPE } from '../../../base/media/constants';
import { getLocalTrack, getTrackState } from '../../../base/tracks/functions';
import { inIframe } from '../../../base/util/iframeUtils';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import { stopLocalVideoRecording } from '../../actions.any';
@ -223,6 +223,7 @@ const LocalRecordingManager: ILocalRecordingManager = {
const currentTitle = document.title;
document.title = i18next.t('localRecording.selectTabTitle');
// @ts-ignore
gdmStream = await navigator.mediaDevices.getDisplayMedia({
// @ts-ignore

View File

@ -5,8 +5,7 @@ import React from 'react';
// @ts-ignore
import { StartRecordingDialog } from '../..';
// @ts-ignore
import { openDialog } from '../../../../base/dialog';
import { openDialog } from '../../../../base/dialog/actions';
import { translate } from '../../../../base/i18n/functions';
import { IconHighlight } from '../../../../base/icons/svg';
import { MEET_FEATURES } from '../../../../base/jwt/constants';

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { Theme } from '@mui/material';
import { withStyles } from '@mui/styles';
import React from 'react';
@ -9,6 +8,7 @@ import { JitsiRecordingConstants } from '../../../base/lib-jitsi-meet';
import { connect } from '../../../base/redux/functions';
import AbstractRecordingLabel, {
_mapStateToProps
// @ts-ignore
} from '../AbstractRecordingLabel';
@ -57,6 +57,7 @@ class RecordingLabel extends AbstractRecordingLabel {
<div>
<Label
className = { classes?.[mode] }
// @ts-ignore
text = { t(this._getLabelKey()) } />
</div>

View File

@ -1,7 +1,6 @@
/* eslint-disable import/order */
// @ts-ignore
import rtcstatsInit from '@jitsi/rtcstats/rtcstats';
// eslint-disable-next-line lines-around-comment
// @ts-ignore
import traceInit from '@jitsi/rtcstats/trace-ws';

View File

@ -1,24 +1,15 @@
/* eslint-disable import/order */
// @ts-ignore
import { jitsiLocalStorage } from '@jitsi/js-utils';
import { getAmplitudeIdentity } from '../analytics/functions';
import {
getAnalyticsRoomName,
getConferenceOptions
// @ts-ignore
} from '../base/conference';
// @ts-ignore
import { getLocalParticipant } from '../base/participants';
import { IStore } from '../app/types';
import { IStateful } from '../base/app/types';
import { getAnalyticsRoomName, getConferenceOptions } from '../base/conference/functions';
import { getLocalParticipant } from '../base/participants/functions';
import { toState } from '../base/redux/functions';
import RTCStats from './RTCStats';
import logger from './logger';
import { IStateful } from '../base/app/types';
import { IStore } from '../app/types';
/**
* Checks whether rtcstats is enabled or not.

View File

@ -1,4 +1,3 @@
// @ts-ignore
import { getLogger } from '../base/logging/functions';
export default getLogger('features/rtcstats');

View File

@ -1,4 +1,3 @@
/* eslint-disable lines-around-comment */
import { AnyAction } from 'redux';
import { IStore } from '../app/types';
@ -8,14 +7,12 @@ import {
CONFERENCE_UNIQUE_ID_SET,
CONFERENCE_WILL_LEAVE,
E2E_RTT_CHANGED
// @ts-ignore
} from '../base/conference';
} from '../base/conference/actionTypes';
import { LIB_WILL_INIT } from '../base/lib-jitsi-meet/actionTypes';
import { DOMINANT_SPEAKER_CHANGED } from '../base/participants/actionTypes';
import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
import { TRACK_ADDED, TRACK_UPDATED } from '../base/tracks/actionTypes';
import { getCurrentRoomId, isInBreakoutRoom } from '../breakout-rooms/functions';
// @ts-ignore
import { extractFqnFromPath } from '../dynamic-branding/functions.any';
import { ADD_FACE_EXPRESSION, FACE_LANDMARK_DETECTION_STOPPED } from '../face-landmarks/actionTypes';

View File

@ -7,7 +7,8 @@ import { useDispatch } from 'react-redux';
import { makeStyles } from 'tss-react/mui';
// @ts-ignore
import { Dialog, hideDialog } from '../../../base/dialog';
import { Dialog } from '../../../base/dialog';
import { hideDialog } from '../../../base/dialog/actions';
import Icon from '../../../base/icons/components/Icon';
import { IconSearch } from '../../../base/icons/svg';
// @ts-ignore

View File

@ -1,8 +1,7 @@
import React, { Component } from 'react';
import { WithTranslation } from 'react-i18next';
import type { Dispatch } from 'redux';
import { IState } from '../../app/types';
import { IState, IStore } from '../../app/types';
import { translate } from '../../base/i18n/functions';
import { connect } from '../../base/redux/functions';
import { updateSettings } from '../../base/settings/actions';
@ -24,7 +23,7 @@ export interface Props extends WithTranslation {
/**
* The redux {@code dispatch} function.
*/
dispatch: Dispatch<any>;
dispatch: IStore['dispatch'];
}
/**

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