Skip to content

refactor: remove unnecessary ReactElement type annotations in RoomAvatarEditor and UserAvatarEditor components#40825

Draft
tassoevan wants to merge 23 commits into
developfrom
refactor/prepare-types-for-react-19-23
Draft

refactor: remove unnecessary ReactElement type annotations in RoomAvatarEditor and UserAvatarEditor components#40825
tassoevan wants to merge 23 commits into
developfrom
refactor/prepare-types-for-react-19-23

Conversation

@tassoevan
Copy link
Copy Markdown
Member

⚠️ This is part 23/23 of #40796. PR for refactor/prepare-types-for-react-19-22 must be merged first.


Proposed changes (including videos or screenshots)

As a first step towards upgrading to React 19, it handles types from @types/react looking forward the next major.

Issue(s)

Task: ARCH-2170

Steps to test or reproduce

Further comments

No runtime change is expected from it.

tassoevan added 23 commits June 3, 2026 23:15
… from AppAvatar, MessageAvatar, and RoomAvatar components
…ations in components

- Updated multiple components to remove explicit return type annotations of ReactElement, allowing TypeScript to infer the return type.
- Adjusted BlockProps to use ReactElement<any> for better type compatibility.
- Cleaned up imports by removing unused ReactElement imports across various files.
…onal components

- Removed explicit return type annotations of ReactElement from multiple functional components across the codebase.
- Updated components in Markup, PreviewMarkup, HeadingBlock, OrderedListBlock, ParagraphBlock, QuoteBlock, SpoilerBlock, TaskListBlock, UnorderedListBlock, CodeBlock, CodeElement, PreviewCodeBlock, PreviewCodeElement, ColorElement, PreviewColorElement, BoldSpan, ImageElement, InlineElements, ItalicSpan, LinkSpan, PlainSpan, PreviewInlineElements, SpoilerSpan, StrikeSpan, BigEmojiBlock, BigEmojiElement, Emoji, EmojiElement, EmojiRenderer, PreviewBigEmojiBlock, PreviewEmojiElement, KatexBlock, KatexElement, KatexErrorBoundary, PreviewKatexBlock, PreviewKatexElement, ChannelMentionElement, PreviewChannelMentionElement, PreviewUserMentionElement, UserMentionElement.
- Updated multiple components to remove explicit ReactElement return type annotations, simplifying the code and improving readability.
- Components affected include ThreadMetrics, ThreadMetricsFollow, ThreadMetricsParticipants, UrlPreviews, MessageAction, AttachmentsItem, DefaultAttachment, QuoteAttachment, ActionAttachmentButton, AttachmentAuthorAvatar, CollapsibleContent, Reaction, OEmbedCollapsible, OEmbedHtmlPreview, OEmbedImagePreview, OEmbedLinkPreview, OEmbedPreviewContent, OEmbedResolver, UrlAudioPreview, UrlImagePreview, UrlPreview, UrlPreviewResolver, UrlVideoPreview, MessageRoles, AllMentionNotification, MessageNotification, UnreadMessagesNotification, MessageToolbar, DatePicker, FormatSelector, Preview, TimePicker, TimezoneSelector, RoomMessage, SystemMessage, ThreadMessage, ThreadMessagePreview, RoomMessageContent, ThreadMessageContent, and ThreadMessagePreviewBody.
…nal components

- Removed ReactElement type annotations from various functional components across the application for cleaner code.
- Updated components such as ReactionListModal, ReactionUserTag, Reactions, ReadReceiptRow, ReadReceiptsModal, ReportMessageModal, ChatProvider, RoomProvider, and others to improve consistency and readability.
- Removed ReactElement type annotations from various components to simplify type definitions.
- Updated components such as AutoCompleteDepartmentAgent, AutoCompleteOutboundProvider, RecipientSelect, and others to use implicit return types.
- Improved code readability and maintainability by streamlining type imports and component definitions.
- Updated multiple components to remove explicit ReactElement return type annotations, simplifying the code.
- Adjusted function signatures in various files to use implicit return types instead.
- Improved consistency across the codebase by standardizing function definitions.
… components

- Changed event types from FormEvent to ChangeEvent in MatrixFederationManageServerModal, MatrixFederationSearchModalContent, TwoFactorEmail, TwoFactorTOTP, AddCustomSound, EditSound, NewImportPage, PermissionsTableFilter, BooleanSettingInput, FontSettingInput, GenericSettingInput, IntSettingInput, PasswordSettingInput, RelativeUrlSettingInput, StringSettingInput, TimespanSettingInput, SettingsGroupPage, LDAPGroupPage, UsersTableFilters, DateRangePicker, CallHistoryPageFilters, Omnichannel analytics DateRangePicker, CannedResponseList, DepartmentTags, RemoveContactModal, QuickActionOptions, MessageBox, RoomMembers, ThreadList, MultiSelectCustomList, and useMediaSession.
…oks and components

- Updated multiple hooks and components to use useStableCallback instead of useEffectEvent for better stability and performance.
- This change affects notification handling, modal management, team management, and various UI interactions across the application.
- Adjusted related imports and ensured consistent usage of the new callback method.
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jun 4, 2026

⚠️ No Changeset found

Latest commit: 88af044

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 4, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9ed346b6-853f-4afe-b213-ed172e2706e8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@dionisio-bot
Copy link
Copy Markdown
Contributor

dionisio-bot Bot commented Jun 4, 2026

Looks like this PR is not ready to merge, because of the following issues:

  • This PR is missing the 'stat: QA assured' label
  • This PR is missing the required milestone or project

Please fix the issues and try again

If you have any trouble, please check the PR guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant