From 7364c7f27b285701d0caaa2ed9af42578bf42a23 Mon Sep 17 00:00:00 2001 From: Robert Pintilii Date: Fri, 30 Sep 2022 12:08:03 +0300 Subject: [PATCH] ref(TS) Remove unnecessary ts-ignores --- globals.d.ts | 1 + package-lock.json | 11 +++++++++++ package.json | 1 + react/features/analytics/functions.ts | 6 ++---- .../analytics/handlers/amplitude/lib.web.ts | 1 - react/features/analytics/middleware.ts | 1 - .../components/web/LoginDialog.tsx | 2 -- react/features/av-moderation/actions.ts | 12 +++++------- react/features/av-moderation/middleware.ts | 19 ++++++++----------- .../components/context-menu/ContextMenu.tsx | 1 - react/features/base/conference/reducer.ts | 6 ++++-- react/features/base/config/actions.ts | 3 --- react/features/base/config/middleware.ts | 2 -- .../base/connection/actions.native.ts | 1 - react/features/base/connection/reducer.ts | 2 -- react/features/base/devices/reducer.ts | 2 -- .../features/base/environment/environment.ts | 1 - .../base/i18n/{logger.js => logger.ts} | 2 -- react/features/base/i18n/middleware.ts | 2 -- react/features/base/lastn/middleware.ts | 2 -- react/features/base/lastn/reducer.ts | 1 - react/features/base/lib-jitsi-meet/actions.ts | 3 +-- .../base/lib-jitsi-meet/middleware.ts | 1 - .../base/logging/JitsiMeetLogStorage.ts | 6 +----- react/features/base/logging/middleware.ts | 7 +++---- react/features/base/media/functions.ts | 2 +- react/features/base/media/middleware.web.ts | 1 - react/features/base/participants/functions.ts | 16 +++++++--------- .../components/web/ConnectionStatus.tsx | 1 - react/features/base/settings/middleware.ts | 1 - react/features/base/sounds/reducer.ts | 1 - react/features/notifications/actions.ts | 1 + 32 files changed, 46 insertions(+), 73 deletions(-) rename react/features/base/i18n/{logger.js => logger.ts} (90%) diff --git a/globals.d.ts b/globals.d.ts index afae76d924..89b20d8482 100644 --- a/globals.d.ts +++ b/globals.d.ts @@ -15,5 +15,6 @@ declare global { interface Window { config?: IConfig; JITSI_MEET_LITE_SDK?: boolean; + interfaceConfig?: any; } } diff --git a/package-lock.json b/package-lock.json index b4d44d8d2c..552502aa77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,6 +49,7 @@ "@svgr/webpack": "4.3.2", "@tensorflow/tfjs-backend-wasm": "3.13.0", "@tensorflow/tfjs-core": "3.13.0", + "@types/amplitude-js": "8.16.2", "@types/audioworklet": "0.0.29", "@types/w3c-image-capture": "1.0.6", "@vladmandic/human": "2.6.5", @@ -5794,6 +5795,11 @@ "node": ">=10.13.0" } }, + "node_modules/@types/amplitude-js": { + "version": "8.16.2", + "resolved": "https://registry.npmjs.org/@types/amplitude-js/-/amplitude-js-8.16.2.tgz", + "integrity": "sha512-a+tb/CEQOlrHRvEvAuYNOcoUy1POERANnAhfKgiTmsy0eACj3eukGP0ucA9t115QOPzVUhbnUfZqtyHp99IZyA==" + }, "node_modules/@types/audioworklet": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/audioworklet/-/audioworklet-0.0.29.tgz", @@ -24683,6 +24689,11 @@ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" }, + "@types/amplitude-js": { + "version": "8.16.2", + "resolved": "https://registry.npmjs.org/@types/amplitude-js/-/amplitude-js-8.16.2.tgz", + "integrity": "sha512-a+tb/CEQOlrHRvEvAuYNOcoUy1POERANnAhfKgiTmsy0eACj3eukGP0ucA9t115QOPzVUhbnUfZqtyHp99IZyA==" + }, "@types/audioworklet": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/audioworklet/-/audioworklet-0.0.29.tgz", diff --git a/package.json b/package.json index 0e53457e91..a7be42b8d9 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@svgr/webpack": "4.3.2", "@tensorflow/tfjs-backend-wasm": "3.13.0", "@tensorflow/tfjs-core": "3.13.0", + "@types/amplitude-js": "8.16.2", "@types/audioworklet": "0.0.29", "@types/w3c-image-capture": "1.0.6", "@vladmandic/human": "2.6.5", diff --git a/react/features/analytics/functions.ts b/react/features/analytics/functions.ts index a2a5b36891..52b62048f6 100644 --- a/react/features/analytics/functions.ts +++ b/react/features/analytics/functions.ts @@ -4,8 +4,7 @@ import { API_ID } from '../../../modules/API/constants'; // @ts-ignore import { getName as getAppName } from '../app/functions'; import { IStore } from '../app/types'; -// @ts-ignore -import { getAnalyticsRoomName } from '../base/conference'; +import { getAnalyticsRoomName } from '../base/conference/functions'; import { checkChromeExtensionsInstalled, isMobileBrowser @@ -14,8 +13,7 @@ import JitsiMeetJS, { analytics, browser } from '../base/lib-jitsi-meet'; -// @ts-ignore -import { isAnalyticsEnabled } from '../base/lib-jitsi-meet/functions'; +import { isAnalyticsEnabled } from '../base/lib-jitsi-meet/functions.any'; // @ts-ignore import { loadScript } from '../base/util'; import { getJitsiMeetGlobalNS } from '../base/util/helpers'; diff --git a/react/features/analytics/handlers/amplitude/lib.web.ts b/react/features/analytics/handlers/amplitude/lib.web.ts index 5a91e0e442..150da2efd8 100644 --- a/react/features/analytics/handlers/amplitude/lib.web.ts +++ b/react/features/analytics/handlers/amplitude/lib.web.ts @@ -1,4 +1,3 @@ -// @ts-ignore import amplitude from 'amplitude-js'; export default amplitude; diff --git a/react/features/analytics/middleware.ts b/react/features/analytics/middleware.ts index 7ffe1368af..659fb50274 100644 --- a/react/features/analytics/middleware.ts +++ b/react/features/analytics/middleware.ts @@ -16,7 +16,6 @@ import { import { getLocalAudioTrack, getLocalVideoTrack - // @ts-ignore } from '../base/tracks/functions'; import { createLocalTracksDurationEvent, createNetworkInfoEvent } from './AnalyticsEvents'; diff --git a/react/features/authentication/components/web/LoginDialog.tsx b/react/features/authentication/components/web/LoginDialog.tsx index e0d9b8c28e..940fbc626a 100644 --- a/react/features/authentication/components/web/LoginDialog.tsx +++ b/react/features/authentication/components/web/LoginDialog.tsx @@ -7,12 +7,10 @@ import type { Dispatch } from 'redux'; import { connect } from '../../../../../connection'; import { IState } from '../../../app/types'; import { IConfig } from '../../../base/config/configType'; -// @ts-ignore import { toJid } from '../../../base/connection/functions'; // @ts-ignore import { Dialog } from '../../../base/dialog'; import { translate, translateToHTML } from '../../../base/i18n/functions'; -// @ts-ignore import { JitsiConnectionErrors } from '../../../base/lib-jitsi-meet'; import { connect as reduxConnect } from '../../../base/redux/functions'; import Input from '../../../base/ui/components/web/Input'; diff --git a/react/features/av-moderation/actions.ts b/react/features/av-moderation/actions.ts index f92cbc3133..ee7f9af610 100644 --- a/react/features/av-moderation/actions.ts +++ b/react/features/av-moderation/actions.ts @@ -1,7 +1,5 @@ import { IStore } from '../app/types'; -// eslint-disable-next-line lines-around-comment -// @ts-ignore -import { getConferenceState } from '../base/conference'; +import { getConferenceState } from '../base/conference/functions'; import { MEDIA_TYPE, type MediaType } from '../base/media/constants'; import { getParticipantById, isParticipantModerator } from '../base/participants/functions'; import { Participant } from '../base/participants/types'; @@ -40,7 +38,7 @@ export const approveParticipantAudio = (id: string) => (dispatch: IStore['dispat const isVideoForceMuted = isForceMuted(participant, MEDIA_TYPE.VIDEO, state); if (isAudioModerationOn || !isVideoModerationOn || !isVideoForceMuted) { - conference.avModerationApprove(MEDIA_TYPE.AUDIO, id); + conference?.avModerationApprove(MEDIA_TYPE.AUDIO, id); } }; @@ -59,7 +57,7 @@ export const approveParticipantVideo = (id: string) => (dispatch: IStore['dispat const isVideoModerationOn = isEnabledFromState(MEDIA_TYPE.VIDEO, state); if (isVideoModerationOn && isVideoForceMuted) { - conference.avModerationApprove(MEDIA_TYPE.VIDEO, id); + conference?.avModerationApprove(MEDIA_TYPE.VIDEO, id); } }; @@ -90,7 +88,7 @@ export const rejectParticipantAudio = (id: string) => (dispatch: IStore['dispatc const isModerator = isParticipantModerator(participant); if (audioModeration && !isAudioForceMuted && !isModerator) { - conference.avModerationReject(MEDIA_TYPE.AUDIO, id); + conference?.avModerationReject(MEDIA_TYPE.AUDIO, id); } }; @@ -110,7 +108,7 @@ export const rejectParticipantVideo = (id: string) => (dispatch: IStore['dispatc const isModerator = isParticipantModerator(participant); if (videoModeration && !isVideoForceMuted && !isModerator) { - conference.avModerationReject(MEDIA_TYPE.VIDEO, id); + conference?.avModerationReject(MEDIA_TYPE.VIDEO, id); } }; diff --git a/react/features/av-moderation/middleware.ts b/react/features/av-moderation/middleware.ts index 5317c0e69c..8928e659ac 100644 --- a/react/features/av-moderation/middleware.ts +++ b/react/features/av-moderation/middleware.ts @@ -2,8 +2,7 @@ import { batch } from 'react-redux'; import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../base/app/actionTypes'; -// @ts-ignore -import { getConferenceState } from '../base/conference'; +import { getConferenceState } from '../base/conference/functions'; import { JitsiConferenceEvents } from '../base/lib-jitsi-meet'; import { MEDIA_TYPE, MediaType } from '../base/media/constants'; import { PARTICIPANT_UPDATED } from '../base/participants/actionTypes'; @@ -17,10 +16,8 @@ import { } from '../base/participants/functions'; import MiddlewareRegistry from '../base/redux/MiddlewareRegistry'; import StateListenerRegistry from '../base/redux/StateListenerRegistry'; -// @ts-ignore -import { playSound, registerSound, unregisterSound } from '../base/sounds'; -// @ts-ignore -import { hideNotification, showNotification } from '../notifications'; +import { playSound, registerSound, unregisterSound } from '../base/sounds/actions'; +import { hideNotification, showNotification } from '../notifications/actions'; import { NOTIFICATION_TIMEOUT_TYPE } from '../notifications/constants'; // @ts-ignore import { muteLocal } from '../video-menu/actions.any'; @@ -81,7 +78,7 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => { case LOCAL_PARTICIPANT_MODERATION_NOTIFICATION: { let descriptionKey; let titleKey; - let uid: string | undefined; + let uid = ''; const localParticipant = getLocalParticipant(getState); const raisedHand = hasRaisedHand(localParticipant); @@ -118,19 +115,19 @@ MiddlewareRegistry.register(({ dispatch, getState }) => next => action => { break; } case REQUEST_DISABLE_AUDIO_MODERATION: { - conference.disableAVModeration(MEDIA_TYPE.AUDIO); + conference?.disableAVModeration(MEDIA_TYPE.AUDIO); break; } case REQUEST_DISABLE_VIDEO_MODERATION: { - conference.disableAVModeration(MEDIA_TYPE.VIDEO); + conference?.disableAVModeration(MEDIA_TYPE.VIDEO); break; } case REQUEST_ENABLE_AUDIO_MODERATION: { - conference.enableAVModeration(MEDIA_TYPE.AUDIO); + conference?.enableAVModeration(MEDIA_TYPE.AUDIO); break; } case REQUEST_ENABLE_VIDEO_MODERATION: { - conference.enableAVModeration(MEDIA_TYPE.VIDEO); + conference?.enableAVModeration(MEDIA_TYPE.VIDEO); break; } case PARTICIPANT_UPDATED: { diff --git a/react/features/base/components/context-menu/ContextMenu.tsx b/react/features/base/components/context-menu/ContextMenu.tsx index 1d7841d375..220a8b1dca 100644 --- a/react/features/base/components/context-menu/ContextMenu.tsx +++ b/react/features/base/components/context-menu/ContextMenu.tsx @@ -5,7 +5,6 @@ import React, { ReactNode, useEffect, useLayoutEffect, useRef, useState } from ' import { useSelector } from 'react-redux'; import { makeStyles } from 'tss-react/mui'; -// @ts-ignore import { getComputedOuterHeight } from '../../../participants-pane/functions'; // @ts-ignore import { Drawer, JitsiPortal } from '../../../toolbox/components/web'; diff --git a/react/features/base/conference/reducer.ts b/react/features/base/conference/reducer.ts index 620d88af89..4bb81b4556 100644 --- a/react/features/base/conference/reducer.ts +++ b/react/features/base/conference/reducer.ts @@ -1,7 +1,6 @@ /* eslint-disable lines-around-comment */ import { LOCKED_LOCALLY, LOCKED_REMOTELY } from '../../room-lock/constants'; import { CONNECTION_WILL_CONNECT, SET_LOCATION_URL } from '../connection/actionTypes'; -// @ts-ignore import { JitsiConferenceErrors } from '../lib-jitsi-meet'; import ReducerRegistry from '../redux/ReducerRegistry'; import { assign, set } from '../redux/functions'; @@ -26,7 +25,6 @@ import { SET_START_MUTED_POLICY, SET_START_REACTIONS_MUTED } from './actionTypes'; -// @ts-ignore import { isRoomValid } from './functions'; const DEFAULT_STATE = { @@ -42,6 +40,10 @@ const DEFAULT_STATE = { export interface IJitsiConference { addTrack: Function; + avModerationApprove: Function; + avModerationReject: Function; + disableAVModeration: Function; + enableAVModeration: Function; getBreakoutRooms: Function; getLocalTracks: Function; grantOwner: Function; diff --git a/react/features/base/config/actions.ts b/react/features/base/config/actions.ts index 043b8e337f..bae89883fb 100644 --- a/react/features/base/config/actions.ts +++ b/react/features/base/config/actions.ts @@ -116,8 +116,6 @@ export function setConfig(config: Object = {}) { // On Web the config also comes from the window.config global, // but it is resolved in the loadConfig procedure. config, - - // @ts-ignore window.interfaceConfig, locationURL); @@ -144,7 +142,6 @@ export function storeConfig(baseURL: string, config: Object) { let b = false; try { - // @ts-ignore if (typeof window.config === 'undefined' || window.config !== config) { jitsiLocalStorage.setItem(`${_CONFIG_STORE_PREFIX}/${baseURL}`, JSON.stringify(config)); b = true; diff --git a/react/features/base/config/middleware.ts b/react/features/base/config/middleware.ts index c0f5c49fe3..9f5fc3bf46 100644 --- a/react/features/base/config/middleware.ts +++ b/react/features/base/config/middleware.ts @@ -87,9 +87,7 @@ function _setConfig({ dispatch, getState }: IStore, next: Function, action: AnyA // not be the global variable which is being modified anymore due to // different merge methods being used along the way. The global variable // must be synchronized with the final state resolved by the reducer. - // @ts-ignore if (typeof window.config !== 'undefined') { - // @ts-ignore window.config = state['features/base/config']; } diff --git a/react/features/base/connection/actions.native.ts b/react/features/base/connection/actions.native.ts index 84831b16a2..9a76a171c1 100644 --- a/react/features/base/connection/actions.native.ts +++ b/react/features/base/connection/actions.native.ts @@ -3,7 +3,6 @@ import { Dispatch } from 'redux'; // @ts-ignore import { conferenceLeft, conferenceWillLeave } from '../conference/actions'; -// @ts-ignore import { getCurrentConference } from '../conference/functions'; import JitsiMeetJS, { JitsiConnectionEvents } from '../lib-jitsi-meet'; diff --git a/react/features/base/connection/reducer.ts b/react/features/base/connection/reducer.ts index 3c039ecacb..88fdd18d2d 100644 --- a/react/features/base/connection/reducer.ts +++ b/react/features/base/connection/reducer.ts @@ -1,6 +1,5 @@ /* eslint-disable lines-around-comment */ import { SET_ROOM } from '../conference/actionTypes'; -// @ts-ignore import { JitsiConnectionErrors } from '../lib-jitsi-meet'; import ReducerRegistry from '../redux/ReducerRegistry'; import { assign, set } from '../redux/functions'; @@ -13,7 +12,6 @@ import { SET_LOCATION_URL, SHOW_CONNECTION_INFO } from './actionTypes'; -// @ts-ignore import { ConnectionFailedError } from './actions.native'; export interface IConnectionState { diff --git a/react/features/base/devices/reducer.ts b/react/features/base/devices/reducer.ts index 39ab4c0a44..7a83effa90 100644 --- a/react/features/base/devices/reducer.ts +++ b/react/features/base/devices/reducer.ts @@ -8,8 +8,6 @@ import { SET_VIDEO_INPUT_DEVICE, UPDATE_DEVICE_LIST } from './actionTypes'; -// eslint-disable-next-line lines-around-comment -// @ts-ignore import { groupDevicesByKind } from './functions'; import logger from './logger'; diff --git a/react/features/base/environment/environment.ts b/react/features/base/environment/environment.ts index bf3090346c..4c06727209 100644 --- a/react/features/base/environment/environment.ts +++ b/react/features/base/environment/environment.ts @@ -1,4 +1,3 @@ -// @ts-ignore import JitsiMeetJS from '../lib-jitsi-meet'; import Platform from '../react/Platform.web'; diff --git a/react/features/base/i18n/logger.js b/react/features/base/i18n/logger.ts similarity index 90% rename from react/features/base/i18n/logger.js rename to react/features/base/i18n/logger.ts index a0c6cc69c8..e5911bde21 100644 --- a/react/features/base/i18n/logger.js +++ b/react/features/base/i18n/logger.ts @@ -1,5 +1,3 @@ -// @flow - import { getLogger } from '../logging/functions'; export default getLogger('features/base/i18n'); diff --git a/react/features/base/i18n/middleware.ts b/react/features/base/i18n/middleware.ts index 3316b65135..4626971df3 100644 --- a/react/features/base/i18n/middleware.ts +++ b/react/features/base/i18n/middleware.ts @@ -4,8 +4,6 @@ import MiddlewareRegistry from '../redux/MiddlewareRegistry'; import { I18NEXT_INITIALIZED, LANGUAGE_CHANGED } from './actionTypes'; import { changeLanguageBundle } from './functions'; import i18next from './i18next'; -// eslint-disable-next-line lines-around-comment -// @ts-ignore import logger from './logger'; /** diff --git a/react/features/base/lastn/middleware.ts b/react/features/base/lastn/middleware.ts index 742552bf76..d52c7b5ba5 100644 --- a/react/features/base/lastn/middleware.ts +++ b/react/features/base/lastn/middleware.ts @@ -22,8 +22,6 @@ import { getParticipantCount } from '../participants/functions'; import MiddlewareRegistry from '../redux/MiddlewareRegistry'; -// eslint-disable-next-line lines-around-comment -// @ts-ignore import { isLocalVideoTrackDesktop } from '../tracks/functions'; import { setLastN } from './actions'; diff --git a/react/features/base/lastn/reducer.ts b/react/features/base/lastn/reducer.ts index f75c27172c..d290f29a14 100644 --- a/react/features/base/lastn/reducer.ts +++ b/react/features/base/lastn/reducer.ts @@ -7,7 +7,6 @@ import ReducerRegistry from '../redux/ReducerRegistry'; import { set } from '../redux/functions'; import { SET_LAST_N } from './actionTypes'; -// @ts-ignore import { validateLastNLimits } from './functions'; export interface ILastNState { diff --git a/react/features/base/lib-jitsi-meet/actions.ts b/react/features/base/lib-jitsi-meet/actions.ts index c2ddd0b349..32265215e1 100644 --- a/react/features/base/lib-jitsi-meet/actions.ts +++ b/react/features/base/lib-jitsi-meet/actions.ts @@ -14,8 +14,7 @@ import { LIB_WILL_DISPOSE, LIB_WILL_INIT } from './actionTypes'; -// @ts-ignore -import { isAnalyticsEnabled } from './functions'; +import { isAnalyticsEnabled } from './functions.any'; /** * Disposes (of) lib-jitsi-meet. diff --git a/react/features/base/lib-jitsi-meet/middleware.ts b/react/features/base/lib-jitsi-meet/middleware.ts index 2500eac670..6afa2f677e 100644 --- a/react/features/base/lib-jitsi-meet/middleware.ts +++ b/react/features/base/lib-jitsi-meet/middleware.ts @@ -93,7 +93,6 @@ function _setErrorHandlers() { if (JitsiMeetJS.getGlobalOnErrorHandler) { const oldOnErrorHandler = window.onerror; - // @ts-ignore window.onerror = (message, source, lineno, colno, error) => { // eslint-disable-line max-params const errMsg = message || error?.message; const stack = error?.stack; diff --git a/react/features/base/logging/JitsiMeetLogStorage.ts b/react/features/base/logging/JitsiMeetLogStorage.ts index 56f17df293..30848e7673 100644 --- a/react/features/base/logging/JitsiMeetLogStorage.ts +++ b/react/features/base/logging/JitsiMeetLogStorage.ts @@ -1,10 +1,6 @@ -/* eslint-disable lines-around-comment */ -// @ts-ignore import RTCStats from '../../rtcstats/RTCStats'; -// @ts-ignore import { canSendRtcstatsData } from '../../rtcstats/functions'; -// @ts-ignore -import { getCurrentConference } from '../conference'; +import { getCurrentConference } from '../conference/functions'; /** * Implements log storage interface from the @jitsi/logger lib. Captured diff --git a/react/features/base/logging/middleware.ts b/react/features/base/logging/middleware.ts index bebc54f492..21d283026f 100644 --- a/react/features/base/logging/middleware.ts +++ b/react/features/base/logging/middleware.ts @@ -4,16 +4,15 @@ import Logger from '@jitsi/logger'; import { IStore } from '../../app/types'; import { APP_WILL_MOUNT } from '../app/actionTypes'; -// @ts-ignore -import { CONFERENCE_JOINED, getCurrentConference } from '../conference'; +import { CONFERENCE_JOINED } from '../conference/actionTypes'; +import { getCurrentConference } from '../conference/functions'; import { SET_CONFIG } from '../config/actionTypes'; import JitsiMeetJS, { JitsiConferenceEvents } from '../lib-jitsi-meet'; import { LIB_WILL_INIT } from '../lib-jitsi-meet/actionTypes'; import MiddlewareRegistry from '../redux/MiddlewareRegistry'; -// @ts-ignore -import { isTestModeEnabled } from '../testing'; +import { isTestModeEnabled } from '../testing/functions'; import buildExternalApiLogTransport from './ExternalApiLogTransport'; import JitsiMeetInMemoryLogStorage from './JitsiMeetInMemoryLogStorage'; diff --git a/react/features/base/media/functions.ts b/react/features/base/media/functions.ts index 5b5f8cd21c..617b88fd74 100644 --- a/react/features/base/media/functions.ts +++ b/react/features/base/media/functions.ts @@ -120,7 +120,7 @@ export function isVideoMutedByUser(stateful: IStateful) { * otherwise, false. */ export function shouldRenderVideoTrack( - videoTrack: { muted: boolean; videoStarted: boolean; }, + videoTrack: { muted: boolean; videoStarted: boolean; } | undefined, waitForVideoStarted: boolean) { return ( videoTrack diff --git a/react/features/base/media/middleware.web.ts b/react/features/base/media/middleware.web.ts index 23cf5571ef..2608cec916 100644 --- a/react/features/base/media/middleware.web.ts +++ b/react/features/base/media/middleware.web.ts @@ -2,7 +2,6 @@ import './middleware.any.js'; import { IStore } from '../../app/types'; -// @ts-ignore import { showNotification } from '../../notifications/actions'; import { NOTIFICATION_TIMEOUT_TYPE } from '../../notifications/constants'; import LocalRecordingManager from '../../recording/components/Recording/LocalRecordingManager.web'; diff --git a/react/features/base/participants/functions.ts b/react/features/base/participants/functions.ts index 11dc631170..3d652e7f73 100644 --- a/react/features/base/participants/functions.ts +++ b/react/features/base/participants/functions.ts @@ -8,15 +8,12 @@ import { isStageFilmstripAvailable } from '../../filmstrip/functions'; import { IStateful } from '../app/types'; import { GRAVATAR_BASE_URL } from '../avatar/constants'; import { isCORSAvatarURL } from '../avatar/functions'; -// @ts-ignore -import { getMultipleVideoSupportFeatureFlag, getSourceNameSignalingFeatureFlag } from '../config'; +import { getMultipleVideoSupportFeatureFlag, getSourceNameSignalingFeatureFlag } from '../config/functions.any'; import i18next from '../i18n/i18next'; import { JitsiParticipantConnectionStatus, JitsiTrackStreamingStatus } from '../lib-jitsi-meet'; -// @ts-ignore -import { shouldRenderVideoTrack } from '../media'; +import { shouldRenderVideoTrack } from '../media/functions'; import { toState } from '../redux/functions'; -// @ts-ignore -import { getScreenShareTrack, getVideoTrackByParticipant } from '../tracks'; +import { getScreenShareTrack, getVideoTrackByParticipant } from '../tracks/functions'; import { createDeferred } from '../util/helpers'; import { JIGASI_PARTICIPANT_ICON, MAX_DISPLAY_NAME_LENGTH, PARTICIPANT_ROLE } from './constants'; @@ -305,13 +302,14 @@ export function getFakeParticipants(stateful: IStateful) { * @returns {number} */ export function getRemoteParticipantCount(stateful: IStateful) { - const state = toState(stateful)['features/base/participants']; + const state = toState(stateful); + const participantsState = state['features/base/participants']; if (getMultipleVideoSupportFeatureFlag(state)) { - return state.remote.size - state.sortedRemoteVirtualScreenshareParticipants.size; + return participantsState.remote.size - participantsState.sortedRemoteVirtualScreenshareParticipants.size; } - return state.remote.size; + return participantsState.remote.size; } /** diff --git a/react/features/base/premeeting/components/web/ConnectionStatus.tsx b/react/features/base/premeeting/components/web/ConnectionStatus.tsx index 47b86db64c..ac6d9f8276 100644 --- a/react/features/base/premeeting/components/web/ConnectionStatus.tsx +++ b/react/features/base/premeeting/components/web/ConnectionStatus.tsx @@ -12,7 +12,6 @@ import { IconArrowDownSmall, IconWifi1Bar, IconWifi2Bars, IconWifi3Bars } from ' import { connect } from '../../../redux/functions'; import { PREJOIN_DEFAULT_CONTENT_WIDTH } from '../../../ui/components/variables'; import { CONNECTION_TYPE } from '../../constants'; -// @ts-ignore import { getConnectionData } from '../../functions'; interface Props extends WithTranslation { diff --git a/react/features/base/settings/middleware.ts b/react/features/base/settings/middleware.ts index d76491873d..f8cbd514ab 100644 --- a/react/features/base/settings/middleware.ts +++ b/react/features/base/settings/middleware.ts @@ -9,7 +9,6 @@ import { setPrejoinPageVisibility } from '../../prejoin/actions'; import { APP_WILL_MOUNT } from '../app/actionTypes'; import { setAudioOnly } from '../audio-only/actions'; import { SET_LOCATION_URL } from '../connection/actionTypes'; // minimize imports to avoid circular imports -// @ts-ignore import { getJwtName } from '../jwt/functions'; import { participantUpdated } from '../participants/actions'; import { getLocalParticipant } from '../participants/functions'; diff --git a/react/features/base/sounds/reducer.ts b/react/features/base/sounds/reducer.ts index 16c59d96b8..9bc0a07310 100644 --- a/react/features/base/sounds/reducer.ts +++ b/react/features/base/sounds/reducer.ts @@ -10,7 +10,6 @@ import { _ADD_AUDIO_ELEMENT, _REMOVE_AUDIO_ELEMENT } from './actionTypes'; -// @ts-ignore import logger from './logger'; /** diff --git a/react/features/notifications/actions.ts b/react/features/notifications/actions.ts index 5405b24c38..afeba9fe71 100644 --- a/react/features/notifications/actions.ts +++ b/react/features/notifications/actions.ts @@ -97,6 +97,7 @@ interface INotificationProps { description?: string; descriptionKey?: string; icon?: string; + sticky?: boolean; title?: string; titleArguments?: { [key: string]: string;