From ea0f9e793422be39fbe37f48e01f7446a3cddd47 Mon Sep 17 00:00:00 2001 From: damencho Date: Wed, 12 Mar 2025 10:19:11 -0500 Subject: [PATCH] feat: Adds ts rule noImplicitOverride and fix errors. --- react/features/always-on-top/AlwaysOnTop.tsx | 8 +++---- .../always-on-top/AudioMuteButton.tsx | 6 ++--- react/features/always-on-top/HangupButton.tsx | 2 +- react/features/always-on-top/Toolbar.tsx | 6 ++--- .../always-on-top/VideoMuteButton.tsx | 6 ++--- react/features/app/components/AbstractApp.ts | 4 ++-- react/features/app/components/App.native.tsx | 4 ++-- react/features/app/components/App.web.tsx | 6 ++--- .../components/AudioLevelIndicator.tsx | 2 +- .../components/native/LoginDialog.tsx | 2 +- .../components/native/WaitForOwnerDialog.tsx | 2 +- .../components/web/LoginDialog.tsx | 2 +- .../components/web/WaitForOwnerDialog.tsx | 2 +- .../features/base/app/components/BaseApp.tsx | 8 +++---- .../base/avatar/components/Avatar.tsx | 4 ++-- .../components/native/StatelessAvatar.tsx | 2 +- .../components/native/AbstractDialog.ts | 4 ++-- .../dialog/components/native/AlertDialog.tsx | 2 +- .../dialog/components/native/BottomSheet.tsx | 2 +- .../components/native/ConfirmDialog.tsx | 2 +- .../components/native/DialogContainer.tsx | 2 +- .../dialog/components/native/InputDialog.tsx | 2 +- .../components/native/PageReloadDialog.tsx | 6 ++--- .../label/components/native/ExpandedLabel.tsx | 4 ++-- .../base/label/components/native/Label.tsx | 6 ++--- .../media/components/AbstractVideoTrack.tsx | 2 +- .../base/media/components/native/Audio.ts | 8 +++---- .../base/media/components/native/Video.tsx | 4 ++-- .../media/components/native/VideoTrack.tsx | 2 +- .../components/native/VideoTransform.tsx | 6 ++--- .../base/media/components/web/Audio.tsx | 4 ++-- .../base/media/components/web/AudioTrack.tsx | 8 +++---- .../base/media/components/web/Video.tsx | 8 +++---- .../base/media/components/web/VideoTrack.tsx | 2 +- .../components/ParticipantView.native.tsx | 2 +- .../base/popover/components/Popover.web.tsx | 6 ++--- .../components/native/AvatarListItem.tsx | 2 +- .../react/components/native/BaseIndicator.tsx | 2 +- .../react/components/native/Container.tsx | 2 +- .../base/react/components/native/Image.tsx | 2 +- .../base/react/components/native/Link.tsx | 2 +- .../base/react/components/native/Linkify.tsx | 2 +- .../components/native/LoadingIndicator.tsx | 2 +- .../base/react/components/native/Modal.tsx | 2 +- .../components/native/NavigateSectionList.tsx | 2 +- .../NavigateSectionListEmptyComponent.tsx | 2 +- .../native/NavigateSectionListItem.tsx | 2 +- .../NavigateSectionListSectionHeader.tsx | 2 +- .../react/components/native/Pressable.tsx | 2 +- .../react/components/native/SectionList.tsx | 2 +- .../react/components/native/SlidingView.tsx | 8 +++---- .../react/components/native/TintedView.tsx | 2 +- .../base/react/components/web/Container.ts | 2 +- .../base/react/components/web/Image.ts | 2 +- .../base/react/components/web/Linkify.tsx | 2 +- .../react/components/web/MeetingsList.tsx | 2 +- .../base/react/components/web/Message.tsx | 2 +- .../web/MultiSelectAutocomplete.tsx | 2 +- .../web/NavigateSectionListItem.tsx | 2 +- .../web/NavigateSectionListSectionHeader.tsx | 2 +- .../base/react/components/web/SectionList.tsx | 2 +- .../base/react/components/web/Text.ts | 2 +- .../base/react/components/web/Watermarks.tsx | 2 +- .../components/native/SettingsButton.tsx | 8 +++---- .../base/sounds/components/SoundCollection.ts | 2 +- .../testing/components/TestConnectionInfo.tsx | 8 +++---- .../testing/components/TestHint.android.tsx | 2 +- .../base/testing/components/TestHint.ios.tsx | 2 +- .../toolbox/components/AbstractButton.tsx | 2 +- .../components/AbstractHangupButton.ts | 4 ++-- .../components/AbstractToolboxItem.tsx | 2 +- .../toolbox/components/BaseAudioMuteButton.ts | 8 +++---- .../toolbox/components/BaseVideoMuteButton.ts | 8 +++---- .../toolbox/components/ToolboxItem.web.tsx | 2 +- .../ui/components/web/DialogContainer.tsx | 2 +- .../components/native/BreakoutRoomsButton.tsx | 8 +++---- .../components/AddMeetingUrlButton.native.ts | 2 +- .../components/AddMeetingUrlButton.web.tsx | 2 +- .../components/CalendarList.native.tsx | 2 +- .../components/CalendarList.web.tsx | 2 +- .../components/CalendarListContent.native.tsx | 4 ++-- .../components/CalendarListContent.web.tsx | 4 ++-- .../components/JoinButton.native.ts | 2 +- .../components/JoinButton.web.tsx | 2 +- .../components/MicrosoftSignInButton.web.tsx | 2 +- .../UpdateCalendarEventDialog.native.tsx | 2 +- .../features/chat/components/native/Chat.tsx | 2 +- .../chat/components/native/ChatButton.ts | 12 +++++----- .../chat/components/native/ChatInputBar.tsx | 2 +- .../chat/components/native/ChatMessage.tsx | 2 +- .../components/native/ChatMessageGroup.tsx | 2 +- .../components/native/ChatPrivacyDialog.tsx | 2 +- .../components/native/MessageContainer.tsx | 2 +- .../components/native/MessageRecipient.tsx | 2 +- .../native/PrivateMessageButton.tsx | 12 +++++----- .../chat/components/web/ChatButton.tsx | 20 ++++++++--------- .../chat/components/web/ChatCounter.tsx | 2 +- .../chat/components/web/ChatInput.tsx | 8 +++---- .../chat/components/web/ChatPrivacyDialog.tsx | 2 +- .../chat/components/web/DisplayNameForm.tsx | 4 ++-- .../chat/components/web/MessageContainer.tsx | 10 ++++----- .../chat/components/web/SmileysPanel.tsx | 2 +- .../components/ChromeExtensionBanner.web.tsx | 4 ++-- .../AbstractInsecureRoomNameLabel.tsx | 2 +- .../components/native/Conference.tsx | 8 +++---- .../conference/components/native/Labels.tsx | 2 +- .../native/LonelyMeetingExperience.tsx | 2 +- .../conference/components/web/Conference.tsx | 8 +++---- .../components/web/ConferenceInfo.tsx | 2 +- .../components/web/InsecureRoomNameLabel.tsx | 2 +- .../components/AbstractConnectionIndicator.ts | 6 ++--- .../components/native/ConnectionIndicator.tsx | 2 +- .../components/web/ConnectionIndicator.tsx | 2 +- .../web/ConnectionIndicatorContent.tsx | 2 +- .../components/NoMobileApp.web.tsx | 4 ++-- .../components/DesktopPicker.tsx | 8 +++---- .../components/DesktopPickerPane.tsx | 2 +- .../components/DesktopSourcePreview.tsx | 2 +- .../components/AudioDevicesSelection.web.tsx | 8 +++---- .../components/AudioOutputPreview.web.tsx | 4 ++-- .../components/VideoDeviceSelection.web.tsx | 8 +++---- .../components/native/DisplayNameLabel.tsx | 2 +- .../components/native/DisplayNamePrompt.tsx | 2 +- .../components/web/DisplayNamePrompt.tsx | 2 +- .../components/EmbedMeetingButton.ts | 10 ++++----- .../components/SharedDocumentButton.native.ts | 10 ++++----- .../components/SharedDocumentButton.web.ts | 18 +++++++-------- .../components/native/SharedDocument.tsx | 2 +- .../feedback/components/FeedbackButton.web.ts | 10 ++++----- .../components/native/AudioMutedIndicator.tsx | 2 +- .../filmstrip/components/native/Filmstrip.tsx | 2 +- .../components/native/RaisedHandIndicator.tsx | 2 +- .../filmstrip/components/native/Thumbnail.tsx | 8 +++---- .../filmstrip/components/native/TileView.tsx | 2 +- .../filmstrip/components/web/Filmstrip.tsx | 6 ++--- .../components/web/StatusIndicators.tsx | 2 +- .../filmstrip/components/web/Thumbnail.tsx | 8 +++---- .../components/web/ThumbnailWrapper.tsx | 2 +- .../components/GoogleSignInButton.native.tsx | 2 +- .../components/GoogleSignInButton.web.tsx | 2 +- .../native/AddPeopleDialog.tsx | 6 ++--- .../add-people-dialog/web/InviteButton.ts | 10 ++++----- .../web/InviteContactsForm.tsx | 6 ++--- .../components/callee-info/CalleeInfo.tsx | 2 +- .../callee-info/CalleeInfoContainer.tsx | 2 +- .../dial-in-summary/native/DialInSummary.tsx | 4 ++-- .../native/DialInSummaryErrorDialog.tsx | 2 +- .../dial-in-summary/web/DialInSummary.tsx | 6 ++--- .../dial-in-summary/web/DialInSummaryApp.tsx | 6 ++--- .../components/web/PremiumFeatureDialog.tsx | 2 +- .../components/KeyboardShortcutsButton.ts | 10 ++++----- .../components/LargeVideo.native.tsx | 8 +++---- .../large-video/components/LargeVideo.web.tsx | 4 ++-- .../components/LargeVideoBackground.web.tsx | 8 +++---- .../components/native/LobbyChatScreen.tsx | 2 +- .../lobby/components/native/LobbyScreen.tsx | 2 +- .../lobby/components/web/LobbyScreen.tsx | 18 +++++++-------- .../lobby/components/web/LobbySection.tsx | 2 +- .../components/AudioDeviceToggleButton.ts | 8 +++---- .../components/AudioRoutePickerDialog.tsx | 4 ++-- .../components/PictureInPictureButton.ts | 10 ++++----- .../no-audio-signal/components/DialInLink.tsx | 2 +- .../components/NoiseSuppressionButton.tsx | 16 +++++++------- .../native/NotificationsContainer.tsx | 8 +++---- .../OldElectronAPPNotificationDescription.tsx | 2 +- .../web/AbstractPageReloadOverlay.tsx | 4 ++-- .../components/web/OverlayContainer.tsx | 2 +- .../overlay/components/web/OverlayFrame.tsx | 2 +- .../components/web/PageReloadOverlay.tsx | 2 +- .../components/web/SuspendedOverlay.tsx | 2 +- .../native/MeetingParticipantItem.tsx | 2 +- .../native/ParticipantsPaneButton.tsx | 8 +++---- .../components/native/RoomParticipantMenu.tsx | 2 +- .../web/MeetingParticipantContextMenu.tsx | 2 +- .../components/web/ParticipantsPaneButton.tsx | 18 +++++++-------- .../prejoin/components/web/PrejoinApp.tsx | 6 ++--- .../components/web/PrejoinThirdParty.tsx | 2 +- .../web/dialogs/JoinByPhoneDialog.tsx | 4 ++-- .../components/PresenceLabel.tsx | 2 +- .../components/native/RaiseHandButton.tsx | 2 +- .../components/native/ReactionMenuDialog.tsx | 2 +- .../components/native/ReactionsMenuButton.ts | 12 +++++----- .../components/web/RaiseHandButton.ts | 18 +++++++-------- .../components/web/ReactionButton.tsx | 2 +- .../components/web/ReactionEmoji.tsx | 4 ++-- .../components/web/ReactionsMenuButton.tsx | 10 ++++----- .../components/AbstractRecentList.tsx | 2 +- .../components/DeleteItemButton.native.ts | 8 +++---- .../components/RecentList.native.tsx | 2 +- .../recent-list/components/RecentList.web.tsx | 2 +- .../components/RecentListItemMenu.native.tsx | 2 +- .../ShowDialInInfoButton.native.tsx | 8 +++---- .../components/AbstractRecordingLabel.ts | 2 +- .../LiveStream/AbstractLiveStreamButton.ts | 18 +++++++-------- .../AbstractStartLiveStreamDialog.ts | 4 ++-- .../LiveStream/AbstractStreamKeyForm.ts | 4 ++-- .../LiveStream/native/GoogleSigninForm.tsx | 4 ++-- .../native/StartLiveStreamDialog.tsx | 4 ++-- .../native/StopLiveStreamDialog.tsx | 2 +- .../LiveStream/native/StreamKeyForm.tsx | 2 +- .../LiveStream/native/StreamKeyPicker.tsx | 2 +- .../LiveStream/web/LiveStreamButton.ts | 2 +- .../LiveStream/web/StartLiveStreamDialog.tsx | 8 +++---- .../LiveStream/web/StopLiveStreamDialog.tsx | 2 +- .../LiveStream/web/StreamKeyForm.tsx | 2 +- .../LiveStream/web/StreamKeyPicker.tsx | 4 ++-- .../Recording/AbstractRecordButton.ts | 20 ++++++++--------- .../Recording/AbstractStartRecordingDialog.ts | 4 ++-- .../AbstractStartRecordingDialogContent.tsx | 4 ++-- .../Recording/native/HighlightButton.tsx | 2 +- .../Recording/native/StartRecordingDialog.tsx | 6 ++--- .../native/StartRecordingDialogContent.tsx | 2 +- .../Recording/native/StopRecordingDialog.tsx | 2 +- .../Recording/web/HighlightButton.tsx | 8 +++---- .../components/Recording/web/RecordButton.ts | 2 +- .../Recording/web/StartRecordingDialog.tsx | 4 ++-- .../web/StartRecordingDialogContent.tsx | 2 +- .../Recording/web/StopRecordingDialog.tsx | 4 ++-- .../components/web/RecordingLabel.tsx | 2 +- .../RemoteControlAuthorizationDialog.tsx | 2 +- .../PasswordRequiredPrompt.native.tsx | 4 ++-- .../components/PasswordRequiredPrompt.web.tsx | 4 ++-- .../components/web/ShareAudioButton.ts | 16 +++++++------- .../components/web/ShareAudioDialog.tsx | 2 +- .../web/ShareScreenWarningDialog.tsx | 2 +- .../AbstractSecurityDialogButton.ts | 14 ++++++------ .../security-dialog/native/SecurityDialog.tsx | 2 +- .../web/SecurityDialogButton.ts | 2 +- .../settings/components/native/FormRow.tsx | 2 +- .../settings/components/web/CalendarTab.tsx | 4 ++-- .../settings/components/web/ModeratorTab.tsx | 2 +- .../settings/components/web/MoreTab.tsx | 2 +- .../components/web/NotificationsTab.tsx | 2 +- .../settings/components/web/ProfileTab.tsx | 2 +- .../settings/components/web/SettingsButton.ts | 10 ++++----- .../settings/components/web/ShortcutsTab.tsx | 2 +- .../components/web/VirtualBackgroundTab.tsx | 2 +- .../components/native/AbstractVideoManager.ts | 6 ++--- .../components/native/SharedVideo.tsx | 4 ++-- .../components/native/SharedVideoButton.ts | 14 ++++++------ .../components/native/SharedVideoDialog.tsx | 2 +- .../components/native/VideoManager.tsx | 2 +- .../components/native/YoutubeVideoManager.tsx | 2 +- .../components/web/AbstractVideoManager.ts | 6 ++--- .../components/web/SharedVideo.tsx | 2 +- .../components/web/SharedVideoButton.ts | 20 ++++++++--------- .../components/web/SharedVideoDialog.tsx | 2 +- .../components/web/VideoManager.tsx | 20 ++++++++--------- .../components/web/YoutubeVideoManager.tsx | 22 +++++++++---------- .../components/AbstractSpeakerStatsButton.tsx | 8 +++---- .../components/native/SpeakerStatsButton.ts | 2 +- .../components/native/TimeElapsed.tsx | 2 +- .../components/web/SpeakerStatsButton.tsx | 2 +- .../subtitles/components/AbstractCaptions.tsx | 2 +- .../AbstractClosedCaptionButton.tsx | 6 ++--- .../components/native/ClosedCaptionButton.tsx | 6 ++--- .../subtitles/components/web/Captions.tsx | 4 ++-- .../components/web/ClosedCaptionButton.tsx | 12 +++++----- .../components/AbstractAudioMuteButton.tsx | 18 +++++++-------- .../components/AbstractVideoMuteButton.tsx | 18 +++++++-------- .../toolbox/components/DownloadButton.ts | 10 ++++----- .../toolbox/components/HangupButton.ts | 8 +++---- .../features/toolbox/components/HelpButton.ts | 10 ++++----- .../components/native/AudioOnlyButton.ts | 14 ++++++------ .../native/LinkToSalesforceButton.ts | 8 +++---- .../components/native/OpenCarmodeButton.tsx | 8 +++---- .../components/native/OverflowMenu.tsx | 2 +- .../components/native/OverflowMenuButton.ts | 8 +++---- .../components/native/RaiseHandButton.ts | 12 +++++----- .../native/ScreenSharingAndroidButton.ts | 12 +++++----- .../native/ScreenSharingIosButton.tsx | 14 ++++++------ .../components/native/ToggleCameraButton.ts | 8 +++---- .../components/native/ToggleSelfViewButton.ts | 12 +++++----- .../components/web/AudioMuteButton.tsx | 12 +++++----- .../components/web/AudioSettingsButton.tsx | 2 +- .../components/web/CustomOptionButton.tsx | 10 ++++----- .../components/web/FullscreenButton.ts | 20 ++++++++--------- .../components/web/HangupMenuButton.tsx | 2 +- .../components/web/HangupToggleButton.tsx | 16 +++++++------- .../components/web/LinkToSalesforceButton.ts | 10 ++++----- .../components/web/OverflowToggleButton.ts | 16 +++++++------- .../toolbox/components/web/ProfileButton.ts | 12 +++++----- .../components/web/ProfileButtonAvatar.tsx | 2 +- .../components/web/ShareDesktopButton.ts | 18 +++++++-------- .../components/web/ToggleCameraButton.ts | 10 ++++----- .../components/web/VideoMuteButton.tsx | 12 +++++----- .../components/web/VideoSettingsButton.tsx | 2 +- .../DefaultUnsupportedDesktopBrowser.tsx | 4 ++-- .../video-layout/components/TileViewButton.ts | 16 +++++++------- .../AbstractGrantModeratorButton.ts | 18 +++++++-------- .../components/AbstractKickButton.ts | 8 +++---- .../components/AbstractMuteButton.ts | 14 ++++++------ .../components/AbstractMuteEveryoneDialog.ts | 2 +- .../AbstractMuteEveryoneElseButton.ts | 8 +++---- .../AbstractMuteEveryoneElsesVideoButton.ts | 8 +++---- .../AbstractMuteEveryonesVideoDialog.ts | 2 +- .../components/AbstractMuteVideoButton.ts | 14 ++++++------ .../components/native/AskUnmuteButton.ts | 8 +++---- .../native/ConnectionStatusButton.ts | 6 ++--- .../native/ConnectionStatusComponent.tsx | 6 ++--- .../native/DemoteToVisitorButton.ts | 8 +++---- .../native/GrantModeratorDialog.tsx | 2 +- .../native/KickRemoteParticipantDialog.tsx | 2 +- .../components/native/LocalVideoMenu.tsx | 2 +- .../components/native/LowerHandButton.tsx | 8 +++---- .../components/native/MuteEveryoneDialog.tsx | 2 +- .../native/MuteEveryonesVideoDialog.tsx | 2 +- .../MuteRemoteParticipantsVideoDialog.tsx | 2 +- .../video-menu/components/native/PinButton.ts | 8 +++---- .../components/native/RemoteVideoMenu.tsx | 2 +- .../components/native/SendToBreakoutRoom.ts | 6 ++--- .../components/native/SharedVideoMenu.tsx | 2 +- .../components/native/VolumeSlider.tsx | 2 +- .../components/web/FlipLocalVideoButton.tsx | 2 +- .../components/web/GrantModeratorDialog.tsx | 2 +- .../web/HideSelfViewVideoButton.tsx | 2 +- .../web/KickRemoteParticipantDialog.tsx | 2 +- .../components/web/MuteEveryoneDialog.tsx | 2 +- .../web/MuteEveryonesVideoDialog.tsx | 2 +- .../web/MuteRemoteParticipantsVideoDialog.tsx | 2 +- .../web/PrivateMessageMenuButton.tsx | 2 +- .../components/web/RemoteControlButton.tsx | 2 +- .../components/VideoQualityButton.web.ts | 10 ++++----- .../components/VideoQualityDialog.web.tsx | 2 +- .../components/VideoQualityLabel.native.tsx | 2 +- .../components/VideoQualitySlider.web.tsx | 2 +- .../components/VideoBackgroundButton.ts | 12 +++++----- .../components/VirtualBackgroundPreview.tsx | 8 +++---- .../welcome/components/AbstractWelcomePage.ts | 6 ++--- .../welcome/components/WelcomePage.native.tsx | 4 ++-- .../welcome/components/WelcomePage.web.tsx | 8 +++---- .../components/native/Whiteboard.tsx | 4 ++-- .../components/native/WhiteboardButton.tsx | 10 ++++----- .../components/web/WhiteboardApp.tsx | 6 ++--- .../components/web/WhiteboardButton.tsx | 20 ++++++++--------- tsconfig.web.json | 1 + 336 files changed, 878 insertions(+), 877 deletions(-) diff --git a/react/features/always-on-top/AlwaysOnTop.tsx b/react/features/always-on-top/AlwaysOnTop.tsx index f9c29a3ba4..5ed8b36b65 100644 --- a/react/features/always-on-top/AlwaysOnTop.tsx +++ b/react/features/always-on-top/AlwaysOnTop.tsx @@ -205,7 +205,7 @@ export default class AlwaysOnTop extends Component { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { api.on('avatarChanged', this._avatarChangedListener); api.on('displayNameChange', this._displayNameChangedListener); api.on('largeVideoChanged', this._videoChangedListener); @@ -231,7 +231,7 @@ export default class AlwaysOnTop extends Component { * @inheritdoc * @returns {void} */ - componentDidUpdate(_prevProps: any, prevState: IState) { + override componentDidUpdate(_prevProps: any, prevState: IState) { if (!prevState.visible && this.state.visible) { this._hideToolbarAfterTimeout(); } @@ -243,7 +243,7 @@ export default class AlwaysOnTop extends Component { * @inheritdoc * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { api.removeListener('avatarChanged', this._avatarChangedListener); api.removeListener( 'displayNameChange', @@ -267,7 +267,7 @@ export default class AlwaysOnTop extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return (
{ * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { api.on('audioAvailabilityChanged', this._audioAvailabilityListener); api.on('audioMuteStatusChanged', this._audioMutedListener); @@ -86,7 +86,7 @@ export default class AudioMuteButton extends Component { * @inheritdoc * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { api.removeListener( 'audioAvailabilityChanged', this._audioAvailabilityListener); @@ -165,7 +165,7 @@ export default class AudioMuteButton extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const toggled = this._isAudioMuted(); return ( diff --git a/react/features/always-on-top/HangupButton.tsx b/react/features/always-on-top/HangupButton.tsx index 5b97f604dd..a60d0e5281 100644 --- a/react/features/always-on-top/HangupButton.tsx +++ b/react/features/always-on-top/HangupButton.tsx @@ -48,7 +48,7 @@ export default class HangupButton extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { api.on('videoConferenceJoined', this._videoConferenceJoinedListener); this._videoConferenceJoinedListener(); @@ -106,7 +106,7 @@ export default class Toolbar extends Component { * @inheritdoc * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { api.removeListener('videoConferenceJoined', this._videoConferenceJoinedListener); } @@ -116,7 +116,7 @@ export default class Toolbar extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { className = '', onMouseOut, diff --git a/react/features/always-on-top/VideoMuteButton.tsx b/react/features/always-on-top/VideoMuteButton.tsx index f6522c0771..091d423e9f 100644 --- a/react/features/always-on-top/VideoMuteButton.tsx +++ b/react/features/always-on-top/VideoMuteButton.tsx @@ -63,7 +63,7 @@ export default class VideoMuteButton extends Component { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { api.on('videoAvailabilityChanged', this._videoAvailabilityListener); api.on('videoMuteStatusChanged', this._videoMutedListener); @@ -85,7 +85,7 @@ export default class VideoMuteButton extends Component { * @inheritdoc * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { api.removeListener( 'videoAvailabilityChanged', this._videoAvailabilityListener); @@ -165,7 +165,7 @@ export default class VideoMuteButton extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const toggled = this._isVideoMuted(); return ( diff --git a/react/features/app/components/AbstractApp.ts b/react/features/app/components/AbstractApp.ts index e1dd92087d..f8c3ad8433 100644 --- a/react/features/app/components/AbstractApp.ts +++ b/react/features/app/components/AbstractApp.ts @@ -31,7 +31,7 @@ export class AbstractApp

extends BaseApp

{ * * @inheritdoc */ - async componentDidMount() { + override async componentDidMount() { await super.componentDidMount(); // If a URL was explicitly specified to this React Component, then @@ -44,7 +44,7 @@ export class AbstractApp

extends BaseApp

{ * * @inheritdoc */ - async componentDidUpdate(prevProps: IProps) { + override async componentDidUpdate(prevProps: IProps) { const previousUrl = toURLString(prevProps.url); const currentUrl = toURLString(this.props.url); const previousTimestamp = prevProps.timestamp; diff --git a/react/features/app/components/App.native.tsx b/react/features/app/components/App.native.tsx index d018e723b8..725267fe36 100644 --- a/react/features/app/components/App.native.tsx +++ b/react/features/app/components/App.native.tsx @@ -80,7 +80,7 @@ export class App extends AbstractApp { * * @returns {void} */ - async componentDidMount() { + override async componentDidMount() { await super.componentDidMount(); SplashScreen.hide(); @@ -96,7 +96,7 @@ export class App extends AbstractApp { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( { super.render() } diff --git a/react/features/app/components/App.web.tsx b/react/features/app/components/App.web.tsx index 119e0af608..b3fc07c1ef 100644 --- a/react/features/app/components/App.web.tsx +++ b/react/features/app/components/App.web.tsx @@ -28,7 +28,7 @@ export class App extends AbstractApp { * @protected * @returns {ReactElement} */ - _createExtraElement() { + override _createExtraElement() { return ( @@ -42,7 +42,7 @@ export class App extends AbstractApp { * * @override */ - _createMainElement(component: React.ComponentType, props?: Object) { + override _createMainElement(component: React.ComponentType, props?: Object) { return ( @@ -57,7 +57,7 @@ export class App extends AbstractApp { * * @returns {React$Element} */ - _renderDialogContainer() { + override _renderDialogContainer() { return ( diff --git a/react/features/audio-level-indicator/components/AudioLevelIndicator.tsx b/react/features/audio-level-indicator/components/AudioLevelIndicator.tsx index ff476d94e5..460d875597 100644 --- a/react/features/audio-level-indicator/components/AudioLevelIndicator.tsx +++ b/react/features/audio-level-indicator/components/AudioLevelIndicator.tsx @@ -36,7 +36,7 @@ class AudioLevelIndicator extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { audioLevel: passedAudioLevel } = this.props; // First make sure we are sensitive enough. diff --git a/react/features/authentication/components/native/LoginDialog.tsx b/react/features/authentication/components/native/LoginDialog.tsx index ad849be11f..f19fc4a2f4 100644 --- a/react/features/authentication/components/native/LoginDialog.tsx +++ b/react/features/authentication/components/native/LoginDialog.tsx @@ -132,7 +132,7 @@ class LoginDialog extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { _connecting: connecting, t diff --git a/react/features/authentication/components/native/WaitForOwnerDialog.tsx b/react/features/authentication/components/native/WaitForOwnerDialog.tsx index b029da7271..d81f5151f7 100644 --- a/react/features/authentication/components/native/WaitForOwnerDialog.tsx +++ b/react/features/authentication/components/native/WaitForOwnerDialog.tsx @@ -60,7 +60,7 @@ class WaitForOwnerDialog extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { _isConfirmHidden } = this.props; return ( diff --git a/react/features/authentication/components/web/LoginDialog.tsx b/react/features/authentication/components/web/LoginDialog.tsx index 5215e8b018..5fc8a3864d 100644 --- a/react/features/authentication/components/web/LoginDialog.tsx +++ b/react/features/authentication/components/web/LoginDialog.tsx @@ -220,7 +220,7 @@ class LoginDialog extends Component { * * @inheritdoc */ - render() { + override render() { const { _connecting: connecting, t diff --git a/react/features/authentication/components/web/WaitForOwnerDialog.tsx b/react/features/authentication/components/web/WaitForOwnerDialog.tsx index 9247293a0d..2d9185e3e9 100644 --- a/react/features/authentication/components/web/WaitForOwnerDialog.tsx +++ b/react/features/authentication/components/web/WaitForOwnerDialog.tsx @@ -74,7 +74,7 @@ class WaitForOwnerDialog extends PureComponent { * * @inheritdoc */ - render() { + override render() { const { t } = this.props; diff --git a/react/features/base/app/components/BaseApp.tsx b/react/features/base/app/components/BaseApp.tsx index 2b6066e20a..17d2035011 100644 --- a/react/features/base/app/components/BaseApp.tsx +++ b/react/features/base/app/components/BaseApp.tsx @@ -67,7 +67,7 @@ export default class BaseApp

extends Component { * * @inheritdoc */ - async componentDidMount() { + override async componentDidMount() { /** * Make the mobile {@code BaseApp} wait until the {@code AsyncStorage} * implementation of {@code Storage} initializes fully. @@ -107,7 +107,7 @@ export default class BaseApp

extends Component { * * @inheritdoc */ - componentWillUnmount() { + override componentWillUnmount() { this.state.store?.dispatch(appWillUnmount(this)); } @@ -119,7 +119,7 @@ export default class BaseApp

extends Component { * * @returns {void} */ - componentDidCatch(error: Error, info: Object) { + override componentDidCatch(error: Error, info: Object) { logger.error(error, info); } @@ -153,7 +153,7 @@ export default class BaseApp

extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { route: { component, props }, store } = this.state; if (store) { diff --git a/react/features/base/avatar/components/Avatar.tsx b/react/features/base/avatar/components/Avatar.tsx index 3cd131bcc6..bb061d7d4d 100644 --- a/react/features/base/avatar/components/Avatar.tsx +++ b/react/features/base/avatar/components/Avatar.tsx @@ -148,7 +148,7 @@ class Avatar

extends PureComponent { * * @inheritdoc */ - componentDidUpdate(prevProps: P) { + override componentDidUpdate(prevProps: P) { const { _corsAvatarURLs, url } = this.props; if (prevProps.url !== url) { @@ -170,7 +170,7 @@ class Avatar

extends PureComponent { * * @inheritdoc */ - render() { + override render() { const { _customAvatarBackgrounds, _initialsBase, diff --git a/react/features/base/avatar/components/native/StatelessAvatar.tsx b/react/features/base/avatar/components/native/StatelessAvatar.tsx index 8f965f10ba..7e38169d01 100644 --- a/react/features/base/avatar/components/native/StatelessAvatar.tsx +++ b/react/features/base/avatar/components/native/StatelessAvatar.tsx @@ -51,7 +51,7 @@ export default class StatelessAvatar extends Component { * * @inheritdoc */ - render() { + override render() { const { initials, size, style, url } = this.props; let avatar; diff --git a/react/features/base/dialog/components/native/AbstractDialog.ts b/react/features/base/dialog/components/native/AbstractDialog.ts index 8db00ea4b9..d9ef4a0593 100644 --- a/react/features/base/dialog/components/native/AbstractDialog.ts +++ b/react/features/base/dialog/components/native/AbstractDialog.ts @@ -52,7 +52,7 @@ export default class AbstractDialog

* * @inheritdoc */ - componentDidMount() { + override componentDidMount() { this._mounted = true; } @@ -62,7 +62,7 @@ export default class AbstractDialog

* * @inheritdoc */ - componentWillUnmount() { + override componentWillUnmount() { this._mounted = false; } diff --git a/react/features/base/dialog/components/native/AlertDialog.tsx b/react/features/base/dialog/components/native/AlertDialog.tsx index 6b68cf525b..ab1db8f6e6 100644 --- a/react/features/base/dialog/components/native/AlertDialog.tsx +++ b/react/features/base/dialog/components/native/AlertDialog.tsx @@ -31,7 +31,7 @@ class AlertDialog extends AbstractDialog { * * @inheritdoc */ - render() { + override render() { const { contentKey, t } = this.props; const content = typeof contentKey === 'string' diff --git a/react/features/base/dialog/components/native/BottomSheet.tsx b/react/features/base/dialog/components/native/BottomSheet.tsx index cf36af0653..d4b2a9b308 100644 --- a/react/features/base/dialog/components/native/BottomSheet.tsx +++ b/react/features/base/dialog/components/native/BottomSheet.tsx @@ -100,7 +100,7 @@ class BottomSheet extends PureComponent { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { addScrollViewPadding, renderHeader, diff --git a/react/features/base/dialog/components/native/ConfirmDialog.tsx b/react/features/base/dialog/components/native/ConfirmDialog.tsx index bc383f4654..ee506eac6b 100644 --- a/react/features/base/dialog/components/native/ConfirmDialog.tsx +++ b/react/features/base/dialog/components/native/ConfirmDialog.tsx @@ -100,7 +100,7 @@ class ConfirmDialog extends AbstractDialog { * * @inheritdoc */ - render() { + override render() { const { cancelLabel, children, diff --git a/react/features/base/dialog/components/native/DialogContainer.tsx b/react/features/base/dialog/components/native/DialogContainer.tsx index 6329f6e1ab..11724b7a3b 100644 --- a/react/features/base/dialog/components/native/DialogContainer.tsx +++ b/react/features/base/dialog/components/native/DialogContainer.tsx @@ -38,7 +38,7 @@ class DialogContainer extends AbstractDialogContainer { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( {this._renderReactions()} diff --git a/react/features/base/dialog/components/native/InputDialog.tsx b/react/features/base/dialog/components/native/InputDialog.tsx index 78388d42fd..ac0a4283d3 100644 --- a/react/features/base/dialog/components/native/InputDialog.tsx +++ b/react/features/base/dialog/components/native/InputDialog.tsx @@ -91,7 +91,7 @@ class InputDialog extends AbstractDialog { * * @inheritdoc */ - render() { + override render() { const { descriptionKey, messageKey, diff --git a/react/features/base/dialog/components/native/PageReloadDialog.tsx b/react/features/base/dialog/components/native/PageReloadDialog.tsx index 2a85c707fb..58a13da065 100644 --- a/react/features/base/dialog/components/native/PageReloadDialog.tsx +++ b/react/features/base/dialog/components/native/PageReloadDialog.tsx @@ -71,7 +71,7 @@ class PageReloadDialog extends Component { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { const { timeLeft } = this.state; logger.info( @@ -88,7 +88,7 @@ class PageReloadDialog extends Component { * @inheritdoc * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { if (this._interval) { clearInterval(this._interval); this._interval = undefined; @@ -157,7 +157,7 @@ class PageReloadDialog extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { isNetworkFailure, t } = this.props; const { timeLeft } = this.state; diff --git a/react/features/base/label/components/native/ExpandedLabel.tsx b/react/features/base/label/components/native/ExpandedLabel.tsx index 3240a1cdcf..1c7b2746f6 100644 --- a/react/features/base/label/components/native/ExpandedLabel.tsx +++ b/react/features/base/label/components/native/ExpandedLabel.tsx @@ -48,7 +48,7 @@ export default abstract class ExpandedLabel

extends Component< * * @inheritdoc */ - componentDidMount() { + override componentDidMount() { Animated.decay(this.state.opacityAnimation, { toValue: 1, velocity: 1, @@ -61,7 +61,7 @@ export default abstract class ExpandedLabel

extends Component< * * @inheritdoc */ - render() { + override render() { return ( { * * @inheritdoc */ - componentDidMount() { + override componentDidMount() { this._maybeToggleAnimation({}, this.props); } @@ -98,7 +98,7 @@ export default class Label extends Component { * * @inheritdoc */ - componentDidUpdate(prevProps: IProps) { + override componentDidUpdate(prevProps: IProps) { this._maybeToggleAnimation(prevProps, this.props); } @@ -107,7 +107,7 @@ export default class Label extends Component { * * @inheritdoc */ - render() { + override render() { const { icon, text, status, style, iconColor, textStyle } = this.props; let extraStyle = null; diff --git a/react/features/base/media/components/AbstractVideoTrack.tsx b/react/features/base/media/components/AbstractVideoTrack.tsx index 03c4051539..354940881e 100644 --- a/react/features/base/media/components/AbstractVideoTrack.tsx +++ b/react/features/base/media/components/AbstractVideoTrack.tsx @@ -72,7 +72,7 @@ export default class AbstractVideoTrack

extends Component

{ * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const videoTrack = _falsy2null(this.props.videoTrack); let render; diff --git a/react/features/base/media/components/native/Audio.ts b/react/features/base/media/components/native/Audio.ts index 0e70d4b0ec..f055702a6f 100644 --- a/react/features/base/media/components/native/Audio.ts +++ b/react/features/base/media/components/native/Audio.ts @@ -36,7 +36,7 @@ export default class Audio extends AbstractAudio { * * @inheritdoc */ - async componentDidUpdate(prevProps: IProps): Promise { + override async componentDidUpdate(prevProps: IProps): Promise { // source is different !! call didunmount and call didmount if (prevProps.src !== this.props.src) { await this.componentWillUnmount(); @@ -49,7 +49,7 @@ export default class Audio extends AbstractAudio { * * @returns {void} */ - async componentDidMount() { + override async componentDidMount() { this._sound = this.props.src ? new Sound( @@ -63,7 +63,7 @@ export default class Audio extends AbstractAudio { * * @returns {void} */ - async componentWillUnmount() { + override async componentWillUnmount() { if (this._sound) { this._sound.release(); this._sound = null; @@ -94,7 +94,7 @@ export default class Audio extends AbstractAudio { * @inheritdoc * @returns {null} */ - render() { + override render() { // TODO react-native-webrtc's RTCView doesn't do anything with the audio // MediaStream specified to it so it's easier at the time of this // writing to not render anything. diff --git a/react/features/base/media/components/native/Video.tsx b/react/features/base/media/components/native/Video.tsx index e6003c9588..42d82c5fd0 100644 --- a/react/features/base/media/components/native/Video.tsx +++ b/react/features/base/media/components/native/Video.tsx @@ -64,7 +64,7 @@ export default class Video extends Component { * * @inheritdoc */ - componentDidMount() { + override componentDidMount() { // RTCView currently does not support media events, so just fire // onPlaying callback when is rendered. const { onPlaying } = this.props; @@ -78,7 +78,7 @@ export default class Video extends Component { * @inheritdoc * @returns {ReactElement|null} */ - render() { + override render() { const { onPress, stream, zoomEnabled } = this.props; if (stream) { diff --git a/react/features/base/media/components/native/VideoTrack.tsx b/react/features/base/media/components/native/VideoTrack.tsx index 018d8efbd5..6ecc686318 100644 --- a/react/features/base/media/components/native/VideoTrack.tsx +++ b/react/features/base/media/components/native/VideoTrack.tsx @@ -18,7 +18,7 @@ class VideoTrack extends AbstractVideoTrack { * @override * @returns {ReactElement} */ - render() { + override render() { return ( { super.render() } diff --git a/react/features/base/media/components/native/VideoTransform.tsx b/react/features/base/media/components/native/VideoTransform.tsx index 1c8f15be10..c6708b9749 100644 --- a/react/features/base/media/components/native/VideoTransform.tsx +++ b/react/features/base/media/components/native/VideoTransform.tsx @@ -197,7 +197,7 @@ class VideoTransform extends Component { * * @inheritdoc */ - componentDidUpdate(prevProps: IProps, prevState: IState) { + override componentDidUpdate(prevProps: IProps, prevState: IState) { if (prevProps.streamId !== this.props.streamId) { this._storeTransform(prevProps.streamId, prevState.transform); this._restoreTransform(this.props.streamId); @@ -209,7 +209,7 @@ class VideoTransform extends Component { * * @inheritdoc */ - componentWillUnmount() { + override componentWillUnmount() { this._storeTransform(this.props.streamId, this.state.transform); } @@ -218,7 +218,7 @@ class VideoTransform extends Component { * * @inheritdoc */ - render() { + override render() { const { _aspectRatio, children, style } = this.props; const isAspectRatioWide = _aspectRatio === ASPECT_RATIO_WIDE; diff --git a/react/features/base/media/components/web/Audio.tsx b/react/features/base/media/components/web/Audio.tsx index d270dd32e2..da38afe683 100644 --- a/react/features/base/media/components/web/Audio.tsx +++ b/react/features/base/media/components/web/Audio.tsx @@ -37,7 +37,7 @@ export default class Audio extends AbstractAudio { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return (

extends AbstractContainer

{ * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { visible = true } = this.props; return visible ? super._render('div') : null; diff --git a/react/features/base/react/components/web/Image.ts b/react/features/base/react/components/web/Image.ts index 27e5557ff3..2b34507019 100644 --- a/react/features/base/react/components/web/Image.ts +++ b/react/features/base/react/components/web/Image.ts @@ -13,7 +13,7 @@ export default class Image extends Component> * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return React.createElement('img', this.props); } } diff --git a/react/features/base/react/components/web/Linkify.tsx b/react/features/base/react/components/web/Linkify.tsx index 5dc1197ce8..477d730840 100644 --- a/react/features/base/react/components/web/Linkify.tsx +++ b/react/features/base/react/components/web/Linkify.tsx @@ -20,7 +20,7 @@ export default class Linkify extends Component { * * @inheritdoc */ - render() { + override render() { return ( diff --git a/react/features/base/react/components/web/MeetingsList.tsx b/react/features/base/react/components/web/MeetingsList.tsx index ab5cd86d4e..bb0cacbd94 100644 --- a/react/features/base/react/components/web/MeetingsList.tsx +++ b/react/features/base/react/components/web/MeetingsList.tsx @@ -105,7 +105,7 @@ class MeetingsList extends Component { * * @returns {React.ReactNode} */ - render() { + override render() { const { listEmptyComponent, meetings } = this.props; /** diff --git a/react/features/base/react/components/web/Message.tsx b/react/features/base/react/components/web/Message.tsx index 23062f994e..06c9f6c9a9 100644 --- a/react/features/base/react/components/web/Message.tsx +++ b/react/features/base/react/components/web/Message.tsx @@ -95,7 +95,7 @@ class Message extends Component { * * @returns {ReactElement} */ - render() { + override render() { const { screenReaderHelpText } = this.props; return ( diff --git a/react/features/base/react/components/web/MultiSelectAutocomplete.tsx b/react/features/base/react/components/web/MultiSelectAutocomplete.tsx index b60e7b51b4..f9ed1f19c1 100644 --- a/react/features/base/react/components/web/MultiSelectAutocomplete.tsx +++ b/react/features/base/react/components/web/MultiSelectAutocomplete.tsx @@ -164,7 +164,7 @@ class MultiSelectAutocomplete extends Component { * * @returns {ReactElement} */ - render() { + override render() { const autoFocus = this.props.shouldFocus || false; const disabled = this.props.isDisabled || false; const placeholder = this.props.placeholder || ''; diff --git a/react/features/base/react/components/web/NavigateSectionListItem.tsx b/react/features/base/react/components/web/NavigateSectionListItem.tsx index 8d46a69f93..729e868551 100644 --- a/react/features/base/react/components/web/NavigateSectionListItem.tsx +++ b/react/features/base/react/components/web/NavigateSectionListItem.tsx @@ -36,7 +36,7 @@ export default class NavigateSectionListItem

* * @returns {ReactElement} */ - render() { + override render() { const { elementAfter, lines, title } = this.props.item; const { onPress } = this.props; diff --git a/react/features/base/react/components/web/NavigateSectionListSectionHeader.tsx b/react/features/base/react/components/web/NavigateSectionListSectionHeader.tsx index 1cede21bb0..ac45114190 100644 --- a/react/features/base/react/components/web/NavigateSectionListSectionHeader.tsx +++ b/react/features/base/react/components/web/NavigateSectionListSectionHeader.tsx @@ -24,7 +24,7 @@ export default class NavigateSectionListSectionHeader extends Component * * @returns {ReactElement} */ - render() { + override render() { return ( { this.props.section.title } diff --git a/react/features/base/react/components/web/SectionList.tsx b/react/features/base/react/components/web/SectionList.tsx index 0ff5c5ce51..3222e1180f 100644 --- a/react/features/base/react/components/web/SectionList.tsx +++ b/react/features/base/react/components/web/SectionList.tsx @@ -51,7 +51,7 @@ export default class SectionList extends Component { * * @returns {React.ReactNode} */ - render() { + override render() { const { ListEmptyComponent, renderSectionHeader, diff --git a/react/features/base/react/components/web/Text.ts b/react/features/base/react/components/web/Text.ts index ba9b4c3e4c..ba7868072d 100644 --- a/react/features/base/react/components/web/Text.ts +++ b/react/features/base/react/components/web/Text.ts @@ -15,7 +15,7 @@ export default class Text extends Component> { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { // eslint-disable-next-line react/prop-types const _style = getFixedPlatformStyle(this.props.style as StyleType); diff --git a/react/features/base/react/components/web/Watermarks.tsx b/react/features/base/react/components/web/Watermarks.tsx index b6b7d923b4..1ed493f947 100644 --- a/react/features/base/react/components/web/Watermarks.tsx +++ b/react/features/base/react/components/web/Watermarks.tsx @@ -97,7 +97,7 @@ class Watermarks extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return (

{ diff --git a/react/features/base/settings/components/native/SettingsButton.tsx b/react/features/base/settings/components/native/SettingsButton.tsx index a139052f81..e830712bb1 100644 --- a/react/features/base/settings/components/native/SettingsButton.tsx +++ b/react/features/base/settings/components/native/SettingsButton.tsx @@ -14,9 +14,9 @@ import { getFeatureFlag } from '../../../flags/functions'; * Implements an {@link AbstractButton} to open the carmode. */ class SettingsButton extends AbstractButton { - accessibilityLabel = 'toolbar.accessibilityLabel.Settings'; - icon = IconGear; - label = 'settings.buttonLabel'; + override accessibilityLabel = 'toolbar.accessibilityLabel.Settings'; + override icon = IconGear; + override label = 'settings.buttonLabel'; /** * Handles clicking / pressing the button, and opens the carmode mode. @@ -24,7 +24,7 @@ class SettingsButton extends AbstractButton { * @private * @returns {void} */ - _handleClick() { + override _handleClick() { return navigate(screen.settings.main); } } diff --git a/react/features/base/sounds/components/SoundCollection.ts b/react/features/base/sounds/components/SoundCollection.ts index b6a3ce8cbc..72a48a1d69 100644 --- a/react/features/base/sounds/components/SoundCollection.ts +++ b/react/features/base/sounds/components/SoundCollection.ts @@ -47,7 +47,7 @@ class SoundCollection extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { let key = 0; const sounds = []; diff --git a/react/features/base/testing/components/TestConnectionInfo.tsx b/react/features/base/testing/components/TestConnectionInfo.tsx index 8d991fb94b..436719cc66 100644 --- a/react/features/base/testing/components/TestConnectionInfo.tsx +++ b/react/features/base/testing/components/TestConnectionInfo.tsx @@ -132,7 +132,7 @@ class TestConnectionInfo extends Component { * @inheritdoc * returns {void} */ - componentDidMount() { + override componentDidMount() { statsEmitter.subscribeToClientStats( this.props._localUserId, this._onStatsUpdated); } @@ -144,7 +144,7 @@ class TestConnectionInfo extends Component { * @inheritdoc * returns {void} */ - componentDidUpdate(prevProps: IProps) { + override componentDidUpdate(prevProps: IProps) { if (prevProps._localUserId !== this.props._localUserId) { statsEmitter.unsubscribeToClientStats( prevProps._localUserId, this._onStatsUpdated); @@ -159,7 +159,7 @@ class TestConnectionInfo extends Component { * @private * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { statsEmitter.unsubscribeToClientStats( this.props._localUserId, this._onStatsUpdated); } @@ -170,7 +170,7 @@ class TestConnectionInfo extends Component { * * @returns {ReactElement|null} */ - render() { + override render() { if (!this.props._testMode) { return null; } diff --git a/react/features/base/testing/components/TestHint.android.tsx b/react/features/base/testing/components/TestHint.android.tsx index a24f3c7daf..daf1747bf7 100644 --- a/react/features/base/testing/components/TestHint.android.tsx +++ b/react/features/base/testing/components/TestHint.android.tsx @@ -28,7 +28,7 @@ class TestHint extends Component { * * @returns {ReactElement} */ - render() { + override render() { if (!this.props._testModeEnabled) { return null; } diff --git a/react/features/base/testing/components/TestHint.ios.tsx b/react/features/base/testing/components/TestHint.ios.tsx index baf9f667bd..d664a102c1 100644 --- a/react/features/base/testing/components/TestHint.ios.tsx +++ b/react/features/base/testing/components/TestHint.ios.tsx @@ -17,7 +17,7 @@ class TestHint extends Component { * * @returns {ReactElement} */ - render() { + override render() { if (!this.props._testModeEnabled) { return null; } diff --git a/react/features/base/toolbox/components/AbstractButton.tsx b/react/features/base/toolbox/components/AbstractButton.tsx index e340a472d8..d93205f396 100644 --- a/react/features/base/toolbox/components/AbstractButton.tsx +++ b/react/features/base/toolbox/components/AbstractButton.tsx @@ -384,7 +384,7 @@ export default class AbstractButton

extends Component * @inheritdoc * @returns {React$Node} */ - render(): ReactNode { + override render(): ReactNode { const props: any = { ...this.props, accessibilityLabel: this._getAccessibilityLabel(), diff --git a/react/features/base/toolbox/components/AbstractHangupButton.ts b/react/features/base/toolbox/components/AbstractHangupButton.ts index fd7d8f9b3d..9169d20604 100644 --- a/react/features/base/toolbox/components/AbstractHangupButton.ts +++ b/react/features/base/toolbox/components/AbstractHangupButton.ts @@ -8,7 +8,7 @@ import AbstractButton, { IProps } from './AbstractButton'; export default class AbstractHangupButton

extends AbstractButton { - icon = IconHangup; + override icon = IconHangup; /** * Handles clicking / pressing the button, and disconnects the conference. @@ -16,7 +16,7 @@ export default class AbstractHangupButton

* @protected * @returns {void} */ - _handleClick() { + override _handleClick() { this._doHangup(); } diff --git a/react/features/base/toolbox/components/AbstractToolboxItem.tsx b/react/features/base/toolbox/components/AbstractToolboxItem.tsx index c89cff80ef..31c6e760e5 100644 --- a/react/features/base/toolbox/components/AbstractToolboxItem.tsx +++ b/react/features/base/toolbox/components/AbstractToolboxItem.tsx @@ -223,7 +223,7 @@ export default class AbstractToolboxItem

extends Component

* @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return this.props.visible ? this._renderItem() : null; } } diff --git a/react/features/base/toolbox/components/BaseAudioMuteButton.ts b/react/features/base/toolbox/components/BaseAudioMuteButton.ts index 66bbba3adc..337e63bf4a 100644 --- a/react/features/base/toolbox/components/BaseAudioMuteButton.ts +++ b/react/features/base/toolbox/components/BaseAudioMuteButton.ts @@ -8,8 +8,8 @@ import AbstractButton, { IProps } from './AbstractButton'; export default class BaseAudioMuteButton

extends AbstractButton { - icon = IconMic; - toggledIcon = IconMicSlash; + override icon = IconMic; + override toggledIcon = IconMicSlash; /** * Handles clicking / pressing the button, and toggles the audio mute state @@ -19,7 +19,7 @@ export default class BaseAudioMuteButton

* @protected * @returns {void} */ - _handleClick() { + override _handleClick() { this._setAudioMuted(!this._isAudioMuted()); } @@ -42,7 +42,7 @@ export default class BaseAudioMuteButton

* @protected * @returns {boolean} */ - _isToggled() { + override _isToggled() { return this._isAudioMuted(); } diff --git a/react/features/base/toolbox/components/BaseVideoMuteButton.ts b/react/features/base/toolbox/components/BaseVideoMuteButton.ts index 1bdbfced61..7f31d4d25b 100644 --- a/react/features/base/toolbox/components/BaseVideoMuteButton.ts +++ b/react/features/base/toolbox/components/BaseVideoMuteButton.ts @@ -8,8 +8,8 @@ import AbstractButton, { IProps } from './AbstractButton'; export default class BaseVideoMuteButton

extends AbstractButton { - icon = IconVideo; - toggledIcon = IconVideoOff; + override icon = IconVideo; + override toggledIcon = IconVideoOff; /** * Handles clicking / pressing the button, and toggles the video mute state @@ -18,7 +18,7 @@ export default class BaseVideoMuteButton

* @protected * @returns {void} */ - _handleClick() { + override _handleClick() { this._setVideoMuted(!this._isVideoMuted()); } @@ -29,7 +29,7 @@ export default class BaseVideoMuteButton

* @protected * @returns {boolean} */ - _isToggled() { + override _isToggled() { return this._isVideoMuted(); } diff --git a/react/features/base/toolbox/components/ToolboxItem.web.tsx b/react/features/base/toolbox/components/ToolboxItem.web.tsx index b198e6a049..8c000ebbbb 100644 --- a/react/features/base/toolbox/components/ToolboxItem.web.tsx +++ b/react/features/base/toolbox/components/ToolboxItem.web.tsx @@ -68,7 +68,7 @@ export default class ToolboxItem extends AbstractToolboxItem { * @protected * @returns {ReactElement} */ - _renderItem() { + override _renderItem() { const { backgroundColor, contextMenu, diff --git a/react/features/base/ui/components/web/DialogContainer.tsx b/react/features/base/ui/components/web/DialogContainer.tsx index dd3780ccd9..b65c42961c 100644 --- a/react/features/base/ui/components/web/DialogContainer.tsx +++ b/react/features/base/ui/components/web/DialogContainer.tsx @@ -61,7 +61,7 @@ class DialogContainer extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( {this.props._overflowDrawer diff --git a/react/features/breakout-rooms/components/native/BreakoutRoomsButton.tsx b/react/features/breakout-rooms/components/native/BreakoutRoomsButton.tsx index 54363c56ce..60d09dea3c 100644 --- a/react/features/breakout-rooms/components/native/BreakoutRoomsButton.tsx +++ b/react/features/breakout-rooms/components/native/BreakoutRoomsButton.tsx @@ -21,9 +21,9 @@ import { screen } from '../../../mobile/navigation/routes'; * Implements an {@link AbstractButton} to open the breakout room screen. */ class BreakoutRoomsButton extends AbstractButton { - accessibilityLabel = 'toolbar.accessibilityLabel.breakoutRooms'; - icon = IconRingGroup; - label = 'breakoutRooms.buttonLabel'; + override accessibilityLabel = 'toolbar.accessibilityLabel.breakoutRooms'; + override icon = IconRingGroup; + override label = 'breakoutRooms.buttonLabel'; /** * Handles clicking / pressing the button and opens the breakout rooms screen. @@ -31,7 +31,7 @@ class BreakoutRoomsButton extends AbstractButton { * @private * @returns {void} */ - _handleClick() { + override _handleClick() { return navigate(screen.conference.breakoutRooms); } } diff --git a/react/features/calendar-sync/components/AddMeetingUrlButton.native.ts b/react/features/calendar-sync/components/AddMeetingUrlButton.native.ts index 0395fceaa0..af6d8d9e31 100644 --- a/react/features/calendar-sync/components/AddMeetingUrlButton.native.ts +++ b/react/features/calendar-sync/components/AddMeetingUrlButton.native.ts @@ -11,7 +11,7 @@ class AddMeetingUrlButton extends Component { * * @inheritdoc */ - render() { + override render() { // Not yet implemented. return null; diff --git a/react/features/calendar-sync/components/AddMeetingUrlButton.web.tsx b/react/features/calendar-sync/components/AddMeetingUrlButton.web.tsx index a15874ed96..cf260a1b25 100644 --- a/react/features/calendar-sync/components/AddMeetingUrlButton.web.tsx +++ b/react/features/calendar-sync/components/AddMeetingUrlButton.web.tsx @@ -56,7 +56,7 @@ class AddMeetingUrlButton extends Component { * * @inheritdoc */ - render() { + override render() { return (

{ * * @inheritdoc */ - render() { + override render() { const { disabled } = this.props; return ( diff --git a/react/features/calendar-sync/components/CalendarList.web.tsx b/react/features/calendar-sync/components/CalendarList.web.tsx index 84f5af9aa5..5f7dfc264e 100644 --- a/react/features/calendar-sync/components/CalendarList.web.tsx +++ b/react/features/calendar-sync/components/CalendarList.web.tsx @@ -74,7 +74,7 @@ class CalendarList extends AbstractPage { * * @inheritdoc */ - render() { + override render() { const { disabled } = this.props; return ( diff --git a/react/features/calendar-sync/components/CalendarListContent.native.tsx b/react/features/calendar-sync/components/CalendarListContent.native.tsx index 970847048c..1bdbc6546a 100644 --- a/react/features/calendar-sync/components/CalendarListContent.native.tsx +++ b/react/features/calendar-sync/components/CalendarListContent.native.tsx @@ -75,7 +75,7 @@ class CalendarListContent extends Component { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { sendAnalytics(createCalendarSelectedEvent()); } @@ -84,7 +84,7 @@ class CalendarListContent extends Component { * * @inheritdoc */ - render() { + override render() { const { disabled, listEmptyComponent } = this.props; return ( diff --git a/react/features/calendar-sync/components/CalendarListContent.web.tsx b/react/features/calendar-sync/components/CalendarListContent.web.tsx index 23c9807b21..73382fe407 100644 --- a/react/features/calendar-sync/components/CalendarListContent.web.tsx +++ b/react/features/calendar-sync/components/CalendarListContent.web.tsx @@ -69,7 +69,7 @@ class CalendarListContent extends Component { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { sendAnalytics(createCalendarSelectedEvent()); } @@ -78,7 +78,7 @@ class CalendarListContent extends Component { * * @inheritdoc */ - render() { + override render() { const { disabled, listEmptyComponent } = this.props; const { _eventList = [] } = this.props; const meetings = _eventList.map(this._toDisplayableItem); diff --git a/react/features/calendar-sync/components/JoinButton.native.ts b/react/features/calendar-sync/components/JoinButton.native.ts index 05c1d58881..b6d57d404a 100644 --- a/react/features/calendar-sync/components/JoinButton.native.ts +++ b/react/features/calendar-sync/components/JoinButton.native.ts @@ -11,7 +11,7 @@ class JoinButton extends Component { * * @inheritdoc */ - render() { + override render() { // Not yet implemented. return null; diff --git a/react/features/calendar-sync/components/JoinButton.web.tsx b/react/features/calendar-sync/components/JoinButton.web.tsx index f8452dffa2..1bfb504456 100644 --- a/react/features/calendar-sync/components/JoinButton.web.tsx +++ b/react/features/calendar-sync/components/JoinButton.web.tsx @@ -48,7 +48,7 @@ class JoinButton extends Component { * * @inheritdoc */ - render() { + override render() { const { t } = this.props; return ( diff --git a/react/features/calendar-sync/components/MicrosoftSignInButton.web.tsx b/react/features/calendar-sync/components/MicrosoftSignInButton.web.tsx index 7fa0f774ea..911fb56e55 100644 --- a/react/features/calendar-sync/components/MicrosoftSignInButton.web.tsx +++ b/react/features/calendar-sync/components/MicrosoftSignInButton.web.tsx @@ -32,7 +32,7 @@ class MicrosoftSignInButton extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return (
{ * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( { * * @inheritdoc */ - render() { + override render() { const { _messages, route } = this.props; const privateMessageRecipient = route?.params?.privateMessageRecipient; diff --git a/react/features/chat/components/native/ChatButton.ts b/react/features/chat/components/native/ChatButton.ts index 9fd01bb620..76b70f86cb 100644 --- a/react/features/chat/components/native/ChatButton.ts +++ b/react/features/chat/components/native/ChatButton.ts @@ -29,10 +29,10 @@ interface IProps extends AbstractButtonProps { * Implements an {@link AbstractButton} to open the chat screen on mobile. */ class ChatButton extends AbstractButton { - accessibilityLabel = 'toolbar.accessibilityLabel.chat'; - icon = IconMessage; - label = 'toolbar.chat'; - toggledIcon = IconChatUnread; + override accessibilityLabel = 'toolbar.accessibilityLabel.chat'; + override icon = IconMessage; + override label = 'toolbar.chat'; + override toggledIcon = IconChatUnread; /** * Handles clicking / pressing the button, and opens the appropriate dialog. @@ -40,7 +40,7 @@ class ChatButton extends AbstractButton { * @private * @returns {void} */ - _handleClick() { + override _handleClick() { this.props._isPollsDisabled ? navigate(screen.conference.chat) : navigate(screen.conference.chatandpolls.main); @@ -52,7 +52,7 @@ class ChatButton extends AbstractButton { * @protected * @returns {boolean} */ - _isToggled() { + override _isToggled() { return Boolean(this.props._unreadMessageCount); } } diff --git a/react/features/chat/components/native/ChatInputBar.tsx b/react/features/chat/components/native/ChatInputBar.tsx index df726fcf0a..8ab498c59e 100644 --- a/react/features/chat/components/native/ChatInputBar.tsx +++ b/react/features/chat/components/native/ChatInputBar.tsx @@ -73,7 +73,7 @@ class ChatInputBar extends Component { * * @inheritdoc */ - render() { + override render() { let inputBarStyles; if (this.props.aspectRatio === ASPECT_RATIO_WIDE) { diff --git a/react/features/chat/components/native/ChatMessage.tsx b/react/features/chat/components/native/ChatMessage.tsx index f1be1c8a84..de52807d11 100644 --- a/react/features/chat/components/native/ChatMessage.tsx +++ b/react/features/chat/components/native/ChatMessage.tsx @@ -31,7 +31,7 @@ class ChatMessage extends Component { * * @inheritdoc */ - render() { + override render() { const { gifEnabled, message, knocking } = this.props; const localMessage = message.messageType === MESSAGE_TYPE_LOCAL; const { privateMessage, lobbyChat } = message; diff --git a/react/features/chat/components/native/ChatMessageGroup.tsx b/react/features/chat/components/native/ChatMessageGroup.tsx index 9b29e76e70..17de692541 100644 --- a/react/features/chat/components/native/ChatMessageGroup.tsx +++ b/react/features/chat/components/native/ChatMessageGroup.tsx @@ -35,7 +35,7 @@ export default class ChatMessageGroup extends Component { * * @inheritdoc */ - render() { + override render() { return ( { * * @inheritdoc */ - render() { + override render() { const data = this._getMessagesGroupedBySender(); return ( diff --git a/react/features/chat/components/native/MessageRecipient.tsx b/react/features/chat/components/native/MessageRecipient.tsx index fc48025ae2..6319749a5b 100644 --- a/react/features/chat/components/native/MessageRecipient.tsx +++ b/react/features/chat/components/native/MessageRecipient.tsx @@ -92,7 +92,7 @@ class MessageRecipient extends AbstractMessageRecipient { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { isLobbyChatActive, lobbyMessageRecipient, diff --git a/react/features/chat/components/native/PrivateMessageButton.tsx b/react/features/chat/components/native/PrivateMessageButton.tsx index 0e5308546c..2c8d0e3b24 100644 --- a/react/features/chat/components/native/PrivateMessageButton.tsx +++ b/react/features/chat/components/native/PrivateMessageButton.tsx @@ -45,10 +45,10 @@ export interface IProps extends AbstractButtonProps { * Class to render a button that initiates the sending of a private message through chat. */ class PrivateMessageButton extends AbstractButton { - accessibilityLabel = 'toolbar.accessibilityLabel.privateMessage'; - icon = IconMessage; - label = 'toolbar.privateMessage'; - toggledIcon = IconReply; + override accessibilityLabel = 'toolbar.accessibilityLabel.privateMessage'; + override icon = IconMessage; + override label = 'toolbar.privateMessage'; + override toggledIcon = IconReply; /** * Handles clicking / pressing the button. @@ -56,7 +56,7 @@ class PrivateMessageButton extends AbstractButton { * @private * @returns {void} */ - _handleClick() { + override _handleClick() { if (this.props._isLobbyMessage) { this.props.dispatch(handleLobbyChatInitialized(this.props.participantID)); } @@ -82,7 +82,7 @@ class PrivateMessageButton extends AbstractButton { * @protected * @returns {boolean} */ - _isToggled() { + override _isToggled() { return this.props.reply; } diff --git a/react/features/chat/components/web/ChatButton.tsx b/react/features/chat/components/web/ChatButton.tsx index 62466fe5a4..60b6b13caf 100644 --- a/react/features/chat/components/web/ChatButton.tsx +++ b/react/features/chat/components/web/ChatButton.tsx @@ -27,13 +27,13 @@ interface IProps extends AbstractButtonProps { * Implementation of a button for accessing chat pane. */ class ChatButton extends AbstractButton { - accessibilityLabel = 'toolbar.accessibilityLabel.openChat'; - toggledAccessibilityLabel = 'toolbar.accessibilityLabel.closeChat'; - icon = IconMessage; - label = 'toolbar.openChat'; - toggledLabel = 'toolbar.closeChat'; - tooltip = 'toolbar.openChat'; - toggledTooltip = 'toolbar.closeChat'; + override accessibilityLabel = 'toolbar.accessibilityLabel.openChat'; + override toggledAccessibilityLabel = 'toolbar.accessibilityLabel.closeChat'; + override icon = IconMessage; + override label = 'toolbar.openChat'; + override toggledLabel = 'toolbar.closeChat'; + override tooltip = 'toolbar.openChat'; + override toggledTooltip = 'toolbar.closeChat'; /** * Indicates whether this button is in toggled state or not. @@ -42,7 +42,7 @@ class ChatButton extends AbstractButton { * @protected * @returns {boolean} */ - _isToggled() { + override _isToggled() { return this.props._chatOpen; } @@ -53,7 +53,7 @@ class ChatButton extends AbstractButton { * @protected * @returns {boReact$Nodeolean} */ - render() { + override render() { return (
{ * @private * @returns {void} */ - _handleClick() { + override _handleClick() { const { dispatch } = this.props; sendAnalytics(createToolbarEvent( diff --git a/react/features/chat/components/web/ChatCounter.tsx b/react/features/chat/components/web/ChatCounter.tsx index 491eeaad3c..589d9ea81a 100644 --- a/react/features/chat/components/web/ChatCounter.tsx +++ b/react/features/chat/components/web/ChatCounter.tsx @@ -35,7 +35,7 @@ class ChatCounter extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( diff --git a/react/features/chat/components/web/ChatInput.tsx b/react/features/chat/components/web/ChatInput.tsx index 15f4f129a7..84bbb341cc 100644 --- a/react/features/chat/components/web/ChatInput.tsx +++ b/react/features/chat/components/web/ChatInput.tsx @@ -62,7 +62,7 @@ interface IState { class ChatInput extends Component { _textArea?: RefObject; - state = { + override state = { message: '', showSmileysPanel: false }; @@ -91,7 +91,7 @@ class ChatInput extends Component { * * @inheritdoc */ - componentDidMount() { + override componentDidMount() { if (isMobileBrowser()) { // Ensure textarea is not focused when opening chat on mobile browser. this._textArea?.current && this._textArea.current.blur(); @@ -105,7 +105,7 @@ class ChatInput extends Component { * * @inheritdoc */ - componentDidUpdate(prevProps: Readonly) { + override componentDidUpdate(prevProps: Readonly) { if (prevProps._privateMessageRecipientId !== this.props._privateMessageRecipientId) { this._textArea?.current?.focus(); } @@ -117,7 +117,7 @@ class ChatInput extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return (
diff --git a/react/features/chat/components/web/ChatPrivacyDialog.tsx b/react/features/chat/components/web/ChatPrivacyDialog.tsx index 805c92d214..8c355c1d50 100644 --- a/react/features/chat/components/web/ChatPrivacyDialog.tsx +++ b/react/features/chat/components/web/ChatPrivacyDialog.tsx @@ -15,7 +15,7 @@ class ChatPrivacyDialog extends AbstractChatPrivacyDialog { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( { - state = { + override state = { displayName: '' }; @@ -68,7 +68,7 @@ class DisplayNameForm extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { isPollsEnabled, t } = this.props; return ( diff --git a/react/features/chat/components/web/MessageContainer.tsx b/react/features/chat/components/web/MessageContainer.tsx index b85c92964b..9c42bd201d 100644 --- a/react/features/chat/components/web/MessageContainer.tsx +++ b/react/features/chat/components/web/MessageContainer.tsx @@ -36,7 +36,7 @@ export default class MessageContainer extends AbstractMessageContainer { const messageType = group[0]?.messageType; @@ -127,7 +127,7 @@ export default class MessageContainer extends AbstractMessageContainer !prevProps.messages.includes(message)); const hasLocalMessage = newMessages.map(message => message.messageType).includes(MESSAGE_TYPE_LOCAL); @@ -161,7 +161,7 @@ export default class MessageContainer extends AbstractMessageContainer { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const smileyItems = Object.keys(smileys).map(smileyKey => (
{ * * @inheritdoc */ - async componentDidUpdate(prevProps: IProps) { + override async componentDidUpdate(prevProps: IProps) { if (!this._isSupportedEnvironment()) { return; } @@ -245,7 +245,7 @@ class ChromeExtensionBanner extends PureComponent { * @inheritdoc * @returns {ReactElement} */ - render(): React.ReactNode { + override render(): React.ReactNode { if (this._shouldNotRender()) { if (this.state.dontShowAgainChecked) { jitsiLocalStorage.setItem(DONT_SHOW_AGAIN_CHECKED, 'true'); diff --git a/react/features/conference/components/AbstractInsecureRoomNameLabel.tsx b/react/features/conference/components/AbstractInsecureRoomNameLabel.tsx index e6a8996baa..b608f97b8e 100644 --- a/react/features/conference/components/AbstractInsecureRoomNameLabel.tsx +++ b/react/features/conference/components/AbstractInsecureRoomNameLabel.tsx @@ -22,7 +22,7 @@ export default class AbstractInsecureRoomNameLabel extends PureComponent * * @inheritdoc */ - render() { + override render() { if (!this.props._visible) { return null; } diff --git a/react/features/conference/components/native/Conference.tsx b/react/features/conference/components/native/Conference.tsx index 6c44ad422d..6de79e2a82 100644 --- a/react/features/conference/components/native/Conference.tsx +++ b/react/features/conference/components/native/Conference.tsx @@ -209,7 +209,7 @@ class Conference extends AbstractConference { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { const { _audioOnlyEnabled, _startCarMode, @@ -228,7 +228,7 @@ class Conference extends AbstractConference { * * @inheritdoc */ - componentDidUpdate(prevProps: IProps) { + override componentDidUpdate(prevProps: IProps) { const { _audioOnlyEnabled, _showLobby, @@ -256,7 +256,7 @@ class Conference extends AbstractConference { * @inheritdoc * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { // Tear handling any hardware button presses for back navigation down. BackHandler.removeEventListener('hardwareBackPress', this._onHardwareBackPress); @@ -269,7 +269,7 @@ class Conference extends AbstractConference { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { _brandingStyles, _fullscreenEnabled diff --git a/react/features/conference/components/native/Labels.tsx b/react/features/conference/components/native/Labels.tsx index 25cfdf6451..c3971ae0a3 100644 --- a/react/features/conference/components/native/Labels.tsx +++ b/react/features/conference/components/native/Labels.tsx @@ -26,7 +26,7 @@ class Labels extends Component { * * @inheritdoc */ - render() { + override render() { return ( { * * @inheritdoc */ - render() { + override render() { const { _inviteOthersControl, _isAddPeopleFeatureEnabled, diff --git a/react/features/conference/components/web/Conference.tsx b/react/features/conference/components/web/Conference.tsx index 0cf232323d..5d68668b84 100644 --- a/react/features/conference/components/web/Conference.tsx +++ b/react/features/conference/components/web/Conference.tsx @@ -172,7 +172,7 @@ class Conference extends AbstractConference { * * @inheritdoc */ - componentDidMount() { + override componentDidMount() { document.title = `${this.props._roomName} | ${interfaceConfig.APP_NAME}`; this._start(); } @@ -183,7 +183,7 @@ class Conference extends AbstractConference { * @inheritdoc * returns {void} */ - componentDidUpdate(prevProps: IProps) { + override componentDidUpdate(prevProps: IProps) { if (this.props._shouldDisplayTileView === prevProps._shouldDisplayTileView) { return; @@ -202,7 +202,7 @@ class Conference extends AbstractConference { * * @inheritdoc */ - componentWillUnmount() { + override componentWillUnmount() { APP.UI.unbindEvents(); FULL_SCREEN_EVENTS.forEach(name => @@ -217,7 +217,7 @@ class Conference extends AbstractConference { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { _isAnyOverlayVisible, _layoutClassName, diff --git a/react/features/conference/components/web/ConferenceInfo.tsx b/react/features/conference/components/web/ConferenceInfo.tsx index 83f2ab75c2..a6906590c2 100644 --- a/react/features/conference/components/web/ConferenceInfo.tsx +++ b/react/features/conference/components/web/ConferenceInfo.tsx @@ -193,7 +193,7 @@ class ConferenceInfo extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return (
extends Co * @inheritdoc * returns {void} */ - componentDidMount() { + override componentDidMount() { statsEmitter.subscribeToClientStats(this._getRealParticipantId(this.props), this._onStatsUpdated); } @@ -114,7 +114,7 @@ class AbstractConnectionIndicator

extends Co * @inheritdoc * returns {void} */ - componentDidUpdate(prevProps: IProps) { + override componentDidUpdate(prevProps: IProps) { const prevParticipantId = this._getRealParticipantId(prevProps); const participantId = this._getRealParticipantId(this.props); @@ -131,7 +131,7 @@ class AbstractConnectionIndicator

extends Co * @private * @returns {void} */ - componentWillUnmount() { + override componentWillUnmount() { statsEmitter.unsubscribeToClientStats(this._getRealParticipantId(this.props), this._onStatsUpdated); clearTimeout(this.autoHideTimeout ?? 0); diff --git a/react/features/connection-indicator/components/native/ConnectionIndicator.tsx b/react/features/connection-indicator/components/native/ConnectionIndicator.tsx index c4a08acb42..87497af7a6 100644 --- a/react/features/connection-indicator/components/native/ConnectionIndicator.tsx +++ b/react/features/connection-indicator/components/native/ConnectionIndicator.tsx @@ -115,7 +115,7 @@ class ConnectionIndicator extends AbstractConnectionIndicator { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { _connectionIndicatorInactiveDisabled, _connectionIndicatorDisabled, diff --git a/react/features/connection-indicator/components/web/ConnectionIndicator.tsx b/react/features/connection-indicator/components/web/ConnectionIndicator.tsx index 4c088ce636..cf99fc2f0b 100644 --- a/react/features/connection-indicator/components/web/ConnectionIndicator.tsx +++ b/react/features/connection-indicator/components/web/ConnectionIndicator.tsx @@ -224,7 +224,7 @@ class ConnectionIndicator extends AbstractConnectionIndicator { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { enableStatsDisplay, participantId, statsPopoverPosition, t } = this.props; const classes = withStyles.getClasses(this.props); const visibilityClass = this._getVisibilityClass(); diff --git a/react/features/connection-indicator/components/web/ConnectionIndicatorContent.tsx b/react/features/connection-indicator/components/web/ConnectionIndicatorContent.tsx index eddddfccd0..55a74b598c 100644 --- a/react/features/connection-indicator/components/web/ConnectionIndicatorContent.tsx +++ b/react/features/connection-indicator/components/web/ConnectionIndicatorContent.tsx @@ -190,7 +190,7 @@ class ConnectionIndicatorContent extends AbstractConnectionIndicator { * * @inheritdoc */ - componentDidMount() { + override componentDidMount() { sendAnalytics( createDeepLinkingPageEvent( 'displayed', 'noMobileApp', { isMobileBrowser: true })); @@ -41,7 +41,7 @@ class NoMobileApp extends Component { * * @returns {ReactElement} */ - render() { + override render() { const ns = 'no-mobile-app'; const { desktop } = this.props._deeplinkingCfg; const { appName } = desktop ?? {}; diff --git a/react/features/desktop-picker/components/DesktopPicker.tsx b/react/features/desktop-picker/components/DesktopPicker.tsx index d56126c63f..d61447a16a 100644 --- a/react/features/desktop-picker/components/DesktopPicker.tsx +++ b/react/features/desktop-picker/components/DesktopPicker.tsx @@ -120,7 +120,7 @@ class DesktopPicker extends PureComponent { _poller: any = null; - state: IState = { + override state: IState = { screenShareAudio: false, selectedSource: {}, selectedTab: DEFAULT_TAB_TYPE, @@ -155,7 +155,7 @@ class DesktopPicker extends PureComponent { * @inheritdoc * @returns {void} */ - componentDidMount() { + override componentDidMount() { this._startPolling(); } @@ -164,7 +164,7 @@ class DesktopPicker extends PureComponent { * * @inheritdoc */ - componentWillUnmount() { + override componentWillUnmount() { this._stopPolling(); } @@ -174,7 +174,7 @@ class DesktopPicker extends PureComponent { * * @inheritdoc */ - render() { + override render() { const { selectedTab, selectedSource, sources, types } = this.state; return ( diff --git a/react/features/desktop-picker/components/DesktopPickerPane.tsx b/react/features/desktop-picker/components/DesktopPickerPane.tsx index d6fefd7fcc..7419574a5c 100644 --- a/react/features/desktop-picker/components/DesktopPickerPane.tsx +++ b/react/features/desktop-picker/components/DesktopPickerPane.tsx @@ -79,7 +79,7 @@ class DesktopPickerPane extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const { onClick, onDoubleClick, diff --git a/react/features/desktop-picker/components/DesktopSourcePreview.tsx b/react/features/desktop-picker/components/DesktopSourcePreview.tsx index 60c3f66bcd..549bc07e65 100644 --- a/react/features/desktop-picker/components/DesktopSourcePreview.tsx +++ b/react/features/desktop-picker/components/DesktopSourcePreview.tsx @@ -65,7 +65,7 @@ class DesktopSourcePreview extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { const selectedClass = this.props.selected ? 'is-selected' : ''; const displayClasses = `desktop-picker-source ${selectedClass}`; diff --git a/react/features/device-selection/components/AudioDevicesSelection.web.tsx b/react/features/device-selection/components/AudioDevicesSelection.web.tsx index b3ae32fbfb..f1607d7c6a 100644 --- a/react/features/device-selection/components/AudioDevicesSelection.web.tsx +++ b/react/features/device-selection/components/AudioDevicesSelection.web.tsx @@ -192,7 +192,7 @@ class AudioDevicesSelection extends AbstractDialogTab { * * @inheritdoc */ - componentDidMount() { + override componentDidMount() { this._unMounted = false; Promise.all([ this._createAudioInputTrack(this.props.selectedAudioInputId) @@ -210,7 +210,7 @@ class AudioDevicesSelection extends AbstractDialogTab { * @param {Object} prevProps - Previous props this component received. * @returns {void} */ - componentDidUpdate(prevProps: IProps) { + override componentDidUpdate(prevProps: IProps) { if (prevProps.selectedAudioInputId !== this.props.selectedAudioInputId) { this._createAudioInputTrack(this.props.selectedAudioInputId); @@ -222,7 +222,7 @@ class AudioDevicesSelection extends AbstractDialogTab { * * @inheritdoc */ - componentWillUnmount() { + override componentWillUnmount() { this._unMounted = true; this._disposeAudioInputPreview(); } @@ -232,7 +232,7 @@ class AudioDevicesSelection extends AbstractDialogTab { * * @inheritdoc */ - render() { + override render() { const { hasAudioPermission, hideAudioInputPreview, diff --git a/react/features/device-selection/components/AudioOutputPreview.web.tsx b/react/features/device-selection/components/AudioOutputPreview.web.tsx index d72a2fe688..012e6ca243 100644 --- a/react/features/device-selection/components/AudioOutputPreview.web.tsx +++ b/react/features/device-selection/components/AudioOutputPreview.web.tsx @@ -55,7 +55,7 @@ class AudioOutputPreview extends Component { * @inheritdoc * @returns {void} */ - componentDidUpdate() { + override componentDidUpdate() { this._setAudioSink(); } @@ -65,7 +65,7 @@ class AudioOutputPreview extends Component { * @inheritdoc * @returns {ReactElement} */ - render() { + override render() { return ( <>