Skip to content

fix: replace StreamChatGenerics with module augmentation #2634

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Mar 13, 2025

Conversation

arnautov-anton
Copy link
Contributor

@arnautov-anton arnautov-anton commented Feb 5, 2025

🎯 Goal

References: GetStream/stream-chat-js#1458

Notable changes:

  • Extended EventComponentProps.message property with { event?: Event } to cover for weird edge-case
  • Extended StreamMessage type with these properties commonly used across the SDK
    { customType?: string; errorStatusCode?: number; editing?: boolean; date?: Date }

BREAKING CHANGE: dropped StreamChatGenerics, use Custom<Entity>Data to extend your types

@arnautov-anton arnautov-anton force-pushed the fix/remove-stream-chat-generics branch from 0a39de2 to 93b9d95 Compare February 5, 2025 16:49
const options: ChannelOptions = { state: true, presence: true, limit: 10 };
const sort: ChannelSort = { last_message_at: -1, updated_at: -1 };

type LocalAttachmentType = Record<string, unknown>;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've yet to see a more beautiful sight than this :D

@GetStream GetStream deleted a comment from github-actions bot Feb 6, 2025
@arnautov-anton arnautov-anton force-pushed the fix/remove-stream-chat-generics branch from c5728f7 to 36c3dc3 Compare February 6, 2025 12:07
Copy link

github-actions bot commented Feb 6, 2025

Size Change: -218 B (-0.02%)

Total Size: 1.37 MB

Filename Size Change
./dist/components/Attachment/AttachmentContainer.js 1.92 kB +8 B (+0.42%)
./dist/components/Attachment/components/FileSizeIndicator.js 346 B +55 B (+18.9%) ⚠️
./dist/components/Attachment/UnsupportedAttachment.js 307 B -1 B (-0.32%)
./dist/components/Attachment/utils.js 789 B +39 B (+5.2%) 🔍
./dist/components/Avatar/ChannelAvatar.js 218 B -3 B (-1.36%)
./dist/components/Channel/Channel.js 8.93 kB -2 B (-0.02%)
./dist/components/ChannelList/ChannelList.js 2.65 kB -28 B (-1.04%)
./dist/components/ChannelList/hooks/useChannelListShape.js 2.6 kB -78 B (-2.91%)
./dist/components/ChannelList/hooks/usePaginatedChannels.js 1.26 kB -2 B (-0.16%)
./dist/components/ChannelList/utils.js 1.37 kB -1 B (-0.07%)
./dist/components/ChannelPreview/ChannelPreview.js 949 B -1 B (-0.11%)
./dist/components/ChannelSearch/hooks/useChannelSearch.js 1.7 kB -27 B (-1.56%)
./dist/components/ChannelSearch/SearchBar.js 1.08 kB -1 B (-0.09%)
./dist/components/ChannelSearch/SearchResults.js 1.29 kB +1 B (+0.08%)
./dist/components/Chat/hooks/useChat.js 1.23 kB +4 B (+0.33%)
./dist/components/Dialog/FormDialog.js 1.02 kB -1 B (-0.1%)
./dist/components/Form/SwitchField.js 457 B -2 B (-0.44%)
./dist/components/LoadMore/LoadMorePaginator.js 444 B +1 B (+0.23%)
./dist/components/MediaRecorder/hooks/useMediaRecorder.js 704 B -1 B (-0.14%)
./dist/components/Message/hooks/useActionHandler.js 561 B -1 B (-0.18%)
./dist/components/Message/hooks/useMuteHandler.js 664 B -2 B (-0.3%)
./dist/components/Message/hooks/usePinHandler.js 672 B +23 B (+3.54%)
./dist/components/Message/hooks/useReactionHandler.js 1.47 kB -3 B (-0.2%)
./dist/components/Message/hooks/useRetryHandler.js 205 B -1 B (-0.49%)
./dist/components/Message/hooks/useUserRole.js 661 B -3 B (-0.45%)
./dist/components/Message/icons.js 1.24 kB -1 B (-0.08%)
./dist/components/Message/QuotedMessage.js 932 B -2 B (-0.21%)
./dist/components/Message/renderText/componentRenderers/Mention.js 174 B -1 B (-0.57%)
./dist/components/MessageInput/AttachmentPreviewList/AttachmentPreviewList.js 603 B +4 B (+0.67%)
./dist/components/MessageInput/AttachmentSelector.js 1.9 kB -1 B (-0.05%)
./dist/components/MessageInput/hooks/useAttachments.js 2.14 kB +69 B (+3.34%)
./dist/components/MessageInput/hooks/useMessageInputState.js 2 kB -1 B (-0.05%)
./dist/components/MessageInput/hooks/useUserTrigger.js 1.5 kB -28 B (-1.83%)
./dist/components/MessageInput/MessageInput.js 637 B -3 B (-0.47%)
./dist/components/MessageList/ConnectionStatus.js 425 B -1 B (-0.23%)
./dist/components/MessageList/hooks/MessageList/useEnrichedMessages.js 627 B -1 B (-0.16%)
./dist/components/MessageList/MessageList.js 2.66 kB +2 B (+0.08%)
./dist/components/MessageList/utils.js 3.02 kB +14 B (+0.47%)
./dist/components/MessageList/VirtualizedMessageList.js 3.82 kB -1 B (-0.03%)
./dist/components/MessageList/VirtualizedMessageListComponents.js 1.74 kB +1 B (+0.06%)
./dist/components/Poll/hooks/usePollAnswerPagination.js 515 B -1 B (-0.19%)
./dist/components/Poll/Poll.js 243 B -3 B (-1.22%)
./dist/components/Poll/PollActions/AddCommentForm.js 523 B +2 B (+0.38%)
./dist/components/Poll/PollActions/EndPollDialog.js 395 B -1 B (-0.25%)
./dist/components/Poll/PollActions/PollActions.js 1.12 kB +3 B (+0.27%)
./dist/components/Poll/PollActions/PollOptionsFullList.js 382 B +4 B (+1.06%)
./dist/components/Poll/PollActions/PollResults/PollOptionVotesList.js 485 B -3 B (-0.61%)
./dist/components/Poll/PollActions/PollResults/PollResults.js 692 B -1 B (-0.14%)
./dist/components/Poll/PollActions/SuggestPollOptionForm.js 634 B +2 B (+0.32%)
./dist/components/Poll/PollOptionList.js 429 B +1 B (+0.23%)
./dist/components/Poll/PollVote.js 691 B -3 B (-0.43%)
./dist/components/Reactions/ReactionsList.js 1.02 kB -1 B (-0.1%)
./dist/components/Thread/Thread.js 1.46 kB -1 B (-0.07%)
./dist/components/Thread/ThreadHeader.js 429 B -1 B (-0.23%)
./dist/context/MessageBounceContext.js 584 B -1 B (-0.17%)
./dist/experimental/index.browser.cjs 76 kB +7 B (+0.01%)
./dist/experimental/index.node.cjs 87.3 kB +7 B (+0.01%)
./dist/experimental/Search/hooks/useSearchFocusedMessage.js 226 B +2 B (+0.89%)
./dist/experimental/Search/SearchResults/SearchResultItem.js 1.11 kB +1 B (+0.09%)
./dist/experimental/Search/SearchResults/SearchResultsHeader.js 597 B -2 B (-0.33%)
./dist/experimental/Search/SearchResults/SearchSourceResults.js 460 B -1 B (-0.22%)
./dist/index.browser.cjs 393 kB -124 B (-0.03%)
./dist/index.node.cjs 429 kB -127 B (-0.03%)
ℹ️ View Unchanged
Filename Size
./dist/components/AIStateIndicator/AIStateIndicator.js 367 B
./dist/components/AIStateIndicator/hooks/useAIState.js 524 B
./dist/components/AIStateIndicator/index.js 73 B
./dist/components/Attachment/attachment-sizing.js 1.07 kB
./dist/components/Attachment/Attachment.js 1.01 kB
./dist/components/Attachment/AttachmentActions.js 474 B
./dist/components/Attachment/Audio.js 615 B
./dist/components/Attachment/audioSampling.js 1.34 kB
./dist/components/Attachment/Card.js 1.5 kB
./dist/components/Attachment/components/DownloadButton.js 241 B
./dist/components/Attachment/components/index.js 112 B
./dist/components/Attachment/components/PlaybackRateButton.js 190 B
./dist/components/Attachment/components/PlayButton.js 252 B
./dist/components/Attachment/components/ProgressBar.js 278 B
./dist/components/Attachment/components/WaveProgressBar.js 1.4 kB
./dist/components/Attachment/FileAttachment.js 367 B
./dist/components/Attachment/hooks/useAudioController.js 1.38 kB
./dist/components/Attachment/icons.js 546 B
./dist/components/Attachment/index.js 131 B
./dist/components/Attachment/VoiceRecording.js 944 B
./dist/components/AutoCompleteTextarea/index.js 146 B
./dist/components/AutoCompleteTextarea/Item.js 379 B
./dist/components/AutoCompleteTextarea/List.js 1.32 kB
./dist/components/AutoCompleteTextarea/Textarea.js 6.04 kB
./dist/components/AutoCompleteTextarea/types.js 31 B
./dist/components/AutoCompleteTextarea/utils.js 737 B
./dist/components/Avatar/Avatar.js 621 B
./dist/components/Avatar/GroupAvatar.js 351 B
./dist/components/Avatar/index.js 65 B
./dist/components/Channel/channelState.js 938 B
./dist/components/Channel/constants.js 77 B
./dist/components/Channel/hooks/useChannelContainerClasses.js 312 B
./dist/components/Channel/hooks/useCreateChannelStateContext.js 1.19 kB
./dist/components/Channel/hooks/useCreateTypingContext.js 226 B
./dist/components/Channel/hooks/useEditMessageHandler.js 239 B
./dist/components/Channel/hooks/useIsMounted.js 165 B
./dist/components/Channel/hooks/useMentionsHandlers.js 376 B
./dist/components/Channel/index.js 118 B
./dist/components/Channel/LoadingChannel.js 342 B
./dist/components/Channel/utils.js 734 B
./dist/components/ChannelHeader/ChannelHeader.js 740 B
./dist/components/ChannelHeader/icons.js 440 B
./dist/components/ChannelHeader/index.js 53 B
./dist/components/ChannelList/ChannelListMessenger.js 430 B
./dist/components/ChannelList/hooks/index.js 205 B
./dist/components/ChannelList/hooks/useChannelDeletedListener.js 383 B
./dist/components/ChannelList/hooks/useChannelHiddenListener.js 385 B
./dist/components/ChannelList/hooks/useChannelMembershipState.js 188 B
./dist/components/ChannelList/hooks/useChannelTruncatedListener.js 314 B
./dist/components/ChannelList/hooks/useChannelUpdatedListener.js 454 B
./dist/components/ChannelList/hooks/useChannelVisibleListener.js 406 B
./dist/components/ChannelList/hooks/useConnectionRecoveredListener.js 244 B
./dist/components/ChannelList/hooks/useMessageNewListener.js 529 B
./dist/components/ChannelList/hooks/useMobileNavigation.js 275 B
./dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js 542 B
./dist/components/ChannelList/hooks/useNotificationMessageNewListener.js 453 B
./dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.js 339 B
./dist/components/ChannelList/hooks/useSelectedChannelState.js 385 B
./dist/components/ChannelList/hooks/useUserPresenceChangedListener.js 369 B
./dist/components/ChannelList/index.js 78 B
./dist/components/ChannelPreview/ChannelPreviewActionButtons.js 477 B
./dist/components/ChannelPreview/ChannelPreviewMessenger.js 884 B
./dist/components/ChannelPreview/hooks/index.js 97 B
./dist/components/ChannelPreview/hooks/useChannelPreviewInfo.js 445 B
./dist/components/ChannelPreview/hooks/useIsChannelMuted.js 299 B
./dist/components/ChannelPreview/hooks/useMessageDeliveryStatus.js 744 B
./dist/components/ChannelPreview/icons.js 573 B
./dist/components/ChannelPreview/index.js 95 B
./dist/components/ChannelPreview/utils.js 1.1 kB
./dist/components/ChannelSearch/ChannelSearch.js 815 B
./dist/components/ChannelSearch/icons.js 684 B
./dist/components/ChannelSearch/index.js 85 B
./dist/components/ChannelSearch/SearchInput.js 295 B
./dist/components/ChannelSearch/utils.js 72 B
./dist/components/Chat/Chat.js 754 B
./dist/components/Chat/hooks/useChannelsQueryState.js 181 B
./dist/components/Chat/hooks/useCreateChatClient.js 482 B
./dist/components/Chat/hooks/useCreateChatContext.js 557 B
./dist/components/Chat/index.js 71 B
./dist/components/ChatAutoComplete/ChatAutoComplete.js 981 B
./dist/components/ChatAutoComplete/index.js 56 B
./dist/components/ChatView/ChatView.js 1.33 kB
./dist/components/ChatView/index.js 48 B
./dist/components/CommandItem/CommandItem.js 263 B
./dist/components/CommandItem/index.js 51 B
./dist/components/DateSeparator/DateSeparator.js 506 B
./dist/components/DateSeparator/index.js 53 B
./dist/components/Dialog/DialogAnchor.js 990 B
./dist/components/Dialog/DialogManager.js 1.12 kB
./dist/components/Dialog/DialogMenu.js 212 B
./dist/components/Dialog/DialogPortal.js 450 B
./dist/components/Dialog/hooks/index.js 49 B
./dist/components/Dialog/hooks/useDialog.js 537 B
./dist/components/Dialog/index.js 79 B
./dist/components/Dialog/PromptDialog.js 283 B
./dist/components/DragAndDrop/DragAndDropContainer.js 1.11 kB
./dist/components/EmoticonItem/EmoticonItem.js 387 B
./dist/components/EmoticonItem/index.js 52 B
./dist/components/EmptyStateIndicator/EmptyStateIndicator.js 443 B
./dist/components/EmptyStateIndicator/icons.js 319 B
./dist/components/EmptyStateIndicator/index.js 59 B
./dist/components/EventComponent/EventComponent.js 736 B
./dist/components/EventComponent/index.js 54 B
./dist/components/Form/FieldError.js 171 B
./dist/components/Gallery/BaseImage.js 412 B
./dist/components/Gallery/Gallery.js 1.02 kB
./dist/components/Gallery/Image.js 593 B
./dist/components/Gallery/index.js 70 B
./dist/components/Gallery/ModalGallery.js 676 B
./dist/components/index.js 329 B
./dist/components/InfiniteScrollPaginator/hooks/useCursorPaginator.js 526 B
./dist/components/InfiniteScrollPaginator/index.js 54 B
./dist/components/InfiniteScrollPaginator/InfiniteScroll.js 1.61 kB
./dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.js 996 B
./dist/components/Loading/index.js 76 B
./dist/components/Loading/LoadingChannels.js 276 B
./dist/components/Loading/LoadingErrorIndicator.js 312 B
./dist/components/Loading/LoadingIndicator.js 641 B
./dist/components/LoadMore/index.js 69 B
./dist/components/LoadMore/LoadMoreButton.js 536 B
./dist/components/MediaRecorder/AudioRecorder/AudioRecorder.js 776 B
./dist/components/MediaRecorder/AudioRecorder/AudioRecordingButtons.js 238 B
./dist/components/MediaRecorder/AudioRecorder/AudioRecordingInProgress.js 746 B
./dist/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.js 561 B
./dist/components/MediaRecorder/AudioRecorder/index.js 75 B
./dist/components/MediaRecorder/AudioRecorder/RecordingTimer.js 227 B
./dist/components/MediaRecorder/classes/AmplitudeRecorder.js 1.09 kB
./dist/components/MediaRecorder/classes/BrowserPermission.js 755 B
./dist/components/MediaRecorder/classes/index.js 86 B
./dist/components/MediaRecorder/classes/MediaRecorderController.js 2.66 kB
./dist/components/MediaRecorder/hooks/index.js 31 B
./dist/components/MediaRecorder/index.js 150 B
./dist/components/MediaRecorder/observable/BehaviorSubject.js 286 B
./dist/components/MediaRecorder/observable/index.js 91 B
./dist/components/MediaRecorder/observable/Observable.js 243 B
./dist/components/MediaRecorder/observable/Observer.js 108 B
./dist/components/MediaRecorder/observable/Subject.js 472 B
./dist/components/MediaRecorder/observable/Subscription.js 129 B
./dist/components/MediaRecorder/RecordingPermissionDeniedNotification.js 418 B
./dist/components/MediaRecorder/transcode/audioProcessing.js 677 B
./dist/components/MediaRecorder/transcode/index.js 267 B
./dist/components/MediaRecorder/transcode/wav.js 1.8 kB
./dist/components/Message/FixedHeightMessage.js 1.51 kB
./dist/components/Message/hooks/index.js 160 B
./dist/components/Message/hooks/useDeleteHandler.js 396 B
./dist/components/Message/hooks/useEditHandler.js 243 B
./dist/components/Message/hooks/useFlagHandler.js 515 B
./dist/components/Message/hooks/useMarkUnreadHandler.js 501 B
./dist/components/Message/hooks/useMentionsHandler.js 334 B
./dist/components/Message/hooks/useMessageTextStreaming.js 650 B
./dist/components/Message/hooks/useOpenThreadHandler.js 265 B
./dist/components/Message/hooks/useReactionsFetcher.js 513 B
./dist/components/Message/hooks/useUserHandler.js 193 B
./dist/components/Message/index.js 167 B
./dist/components/Message/Message.js 1.93 kB
./dist/components/Message/MessageDeleted.js 363 B
./dist/components/Message/MessageEditedTimestamp.js 418 B
./dist/components/Message/MessageErrorText.js 366 B
./dist/components/Message/MessageOptions.js 824 B
./dist/components/Message/MessageRepliesCountButton.js 415 B
./dist/components/Message/MessageSimple.js 2.21 kB
./dist/components/Message/MessageStatus.js 1.11 kB
./dist/components/Message/MessageText.js 868 B
./dist/components/Message/MessageTimestamp.js 281 B
./dist/components/Message/renderText/componentRenderers/Anchor.js 297 B
./dist/components/Message/renderText/componentRenderers/Emoji.js 151 B
./dist/components/Message/renderText/componentRenderers/index.js 66 B
./dist/components/Message/renderText/index.js 135 B
./dist/components/Message/renderText/regex.js 378 B
./dist/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.js 241 B
./dist/components/Message/renderText/rehypePlugins/index.js 72 B
./dist/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.js 972 B
./dist/components/Message/renderText/remarkPlugins/htmlToTextPlugin.js 172 B
./dist/components/Message/renderText/remarkPlugins/index.js 75 B
./dist/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.js 450 B
./dist/components/Message/renderText/renderText.js 1.66 kB
./dist/components/Message/renderText/types.js 31 B
./dist/components/Message/StreamedMessageText.js 309 B
./dist/components/Message/Timestamp.js 435 B
./dist/components/Message/types.js 31 B
./dist/components/Message/utils.js 2.87 kB
./dist/components/MessageActions/CustomMessageActionsList.js 333 B
./dist/components/MessageActions/hooks/index.js 66 B
./dist/components/MessageActions/hooks/useMessageActionsBoxPopper.js 465 B
./dist/components/MessageActions/index.js 77 B
./dist/components/MessageActions/MessageActions.js 1.16 kB
./dist/components/MessageActions/MessageActionsBox.js 1.04 kB
./dist/components/MessageBounce/index.js 70 B
./dist/components/MessageBounce/MessageBounceModal.js 231 B
./dist/components/MessageBounce/MessageBouncePrompt.js 453 B
./dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js 689 B
./dist/components/MessageInput/AttachmentPreviewList/ImageAttachmentPreview.js 712 B
./dist/components/MessageInput/AttachmentPreviewList/index.js 61 B
./dist/components/MessageInput/AttachmentPreviewList/types.js 31 B
./dist/components/MessageInput/AttachmentPreviewList/UnsupportedAttachmentPreview.js 662 B
./dist/components/MessageInput/AttachmentPreviewList/VoiceRecordingPreview.js 731 B
./dist/components/MessageInput/CooldownTimer.js 230 B
./dist/components/MessageInput/DefaultTriggerProvider.js 410 B
./dist/components/MessageInput/DropzoneProvider.js 491 B
./dist/components/MessageInput/EditMessageForm.js 486 B
./dist/components/MessageInput/hooks/index.js 79 B
./dist/components/MessageInput/hooks/useCommandTrigger.js 779 B
./dist/components/MessageInput/hooks/useCooldownTimer.js 640 B
./dist/components/MessageInput/hooks/useCreateMessageInputContext.js 1.01 kB
./dist/components/MessageInput/hooks/useEmojiTrigger.js 498 B
./dist/components/MessageInput/hooks/useLinkPreviews.js 1.25 kB
./dist/components/MessageInput/hooks/useMessageInputText.js 889 B
./dist/components/MessageInput/hooks/usePasteHandler.js 659 B
./dist/components/MessageInput/hooks/useSubmitHandler.js 1.75 kB
./dist/components/MessageInput/hooks/useTimeElapsed.js 354 B
./dist/components/MessageInput/hooks/useTimer.js 265 B
./dist/components/MessageInput/hooks/utils.js 1.73 kB
./dist/components/MessageInput/icons.js 2.42 kB
./dist/components/MessageInput/index.js 188 B
./dist/components/MessageInput/LinkPreviewList.js 727 B
./dist/components/MessageInput/MessageInputFlat.js 2.38 kB
./dist/components/MessageInput/QuotedMessagePreview.js 837 B
./dist/components/MessageInput/SendButton.js 226 B
./dist/components/MessageInput/StopAIGenerationButton.js 261 B
./dist/components/MessageInput/types.js 387 B
./dist/components/MessageList/CustomNotification.js 289 B
./dist/components/MessageList/GiphyPreviewMessage.js 193 B
./dist/components/MessageList/hooks/index.js 183 B
./dist/components/MessageList/hooks/MessageList/index.js 128 B
./dist/components/MessageList/hooks/MessageList/useMessageListElements.js 534 B
./dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.js 873 B
./dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.js 797 B
./dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.js 993 B
./dist/components/MessageList/hooks/useLastReadData.js 207 B
./dist/components/MessageList/hooks/useMarkRead.js 1.1 kB
./dist/components/MessageList/hooks/VirtualizedMessageList/index.js 158 B
./dist/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.js 347 B
./dist/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.js 326 B
./dist/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.js 615 B
./dist/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.js 1.25 kB
./dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js 425 B
./dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.js 387 B
./dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js 638 B
./dist/components/MessageList/icons.js 591 B
./dist/components/MessageList/index.js 201 B
./dist/components/MessageList/MessageListMainPanel.js 197 B
./dist/components/MessageList/MessageListNotifications.js 444 B
./dist/components/MessageList/MessageNotification.js 268 B
./dist/components/MessageList/renderMessages.js 981 B
./dist/components/MessageList/ScrollToBottomButton.js 970 B
./dist/components/MessageList/UnreadMessagesNotification.js 396 B
./dist/components/MessageList/UnreadMessagesSeparator.js 307 B
./dist/components/MML/index.js 43 B
./dist/components/MML/MML.js 434 B
./dist/components/Modal/icons.js 431 B
./dist/components/Modal/index.js 45 B
./dist/components/Modal/Modal.js 595 B
./dist/components/Modal/ModalHeader.js 243 B
./dist/components/Poll/constants.js 122 B
./dist/components/Poll/hooks/index.js 77 B
./dist/components/Poll/hooks/useManagePollVotesRealtime.js 637 B
./dist/components/Poll/hooks/usePollOptionVotesPagination.js 520 B
./dist/components/Poll/index.js 127 B
./dist/components/Poll/PollActions/index.js 124 B
./dist/components/Poll/PollActions/PollAction.js 252 B
./dist/components/Poll/PollActions/PollAnswerList.js 721 B
./dist/components/Poll/PollActions/PollResults/index.js 51 B
./dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.js 527 B
./dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.js 473 B
./dist/components/Poll/PollContent.js 415 B
./dist/components/Poll/PollCreationDialog/index.js 58 B
./dist/components/Poll/PollCreationDialog/OptionFieldSet.js 1.26 kB
./dist/components/Poll/PollCreationDialog/PollCreationDialog.js 1.45 kB
./dist/components/Poll/PollCreationDialog/PollCreationDialogControls.js 784 B
./dist/components/Poll/PollCreationDialog/types.js 31 B
./dist/components/Poll/PollHeader.js 508 B
./dist/components/Poll/PollOptionSelector.js 1.18 kB
./dist/components/Poll/QuotedPoll.js 340 B
./dist/components/Portal/Portal.js 246 B
./dist/components/ReactFileUtilities/FileIcon/FileIcon.js 362 B
./dist/components/ReactFileUtilities/FileIcon/FileIconSet.js 5.26 kB
./dist/components/ReactFileUtilities/FileIcon/iconMap.js 527 B
./dist/components/ReactFileUtilities/FileIcon/index.js 53 B
./dist/components/ReactFileUtilities/FileIcon/mimeTypes.js 833 B
./dist/components/ReactFileUtilities/ImageDropzone.js 917 B
./dist/components/ReactFileUtilities/index.js 110 B
./dist/components/ReactFileUtilities/LoadingIndicator.js 257 B
./dist/components/ReactFileUtilities/types.js 31 B
./dist/components/ReactFileUtilities/UploadButton.js 640 B
./dist/components/ReactFileUtilities/utils.js 1.17 kB
./dist/components/Reactions/hooks/useFetchReactions.js 413 B
./dist/components/Reactions/hooks/useProcessReactions.js 960 B
./dist/components/Reactions/index.js 117 B
./dist/components/Reactions/reactionOptions.js 325 B
./dist/components/Reactions/ReactionSelector.js 1.74 kB
./dist/components/Reactions/ReactionSelectorWithButton.js 644 B
./dist/components/Reactions/ReactionsListModal.js 947 B
./dist/components/Reactions/SimpleReactionsList.js 779 B
./dist/components/Reactions/SpriteImage.js 645 B
./dist/components/Reactions/StreamEmoji.js 379 B
./dist/components/Reactions/types.js 31 B
./dist/components/Reactions/utils/utils.js 281 B
./dist/components/SafeAnchor/index.js 74 B
./dist/components/SafeAnchor/SafeAnchor.js 327 B
./dist/components/Thread/icons.js 352 B
./dist/components/Thread/index.js 75 B
./dist/components/Thread/ThreadHead.js 278 B
./dist/components/Thread/ThreadStart.js 262 B
./dist/components/Threads/hooks/useThreadManagerState.js 168 B
./dist/components/Threads/hooks/useThreadState.js 250 B
./dist/components/Threads/icons.js 850 B
./dist/components/Threads/index.js 61 B
./dist/components/Threads/ThreadContext.js 242 B
./dist/components/Threads/ThreadList/index.js 64 B
./dist/components/Threads/ThreadList/ThreadList.js 716 B
./dist/components/Threads/ThreadList/ThreadListEmptyPlaceholder.js 212 B
./dist/components/Threads/ThreadList/ThreadListItem.js 564 B
./dist/components/Threads/ThreadList/ThreadListItemUI.js 1.33 kB
./dist/components/Threads/ThreadList/ThreadListLoadingIndicator.js 347 B
./dist/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.js 361 B
./dist/components/Threads/UnreadCountBadge.js 222 B
./dist/components/Tooltip/hooks/index.js 61 B
./dist/components/Tooltip/hooks/useEnterLeaveHandlers.js 234 B
./dist/components/Tooltip/index.js 47 B
./dist/components/Tooltip/Tooltip.js 371 B
./dist/components/TypingIndicator/index.js 55 B
./dist/components/TypingIndicator/TypingIndicator.js 834 B
./dist/components/UserItem/index.js 48 B
./dist/components/UserItem/UserItem.js 542 B
./dist/components/UtilityComponents/ErrorBoundary.js 252 B
./dist/components/UtilityComponents/index.js 72 B
./dist/components/UtilityComponents/NullComponent.js 61 B
./dist/components/Window/index.js 46 B
./dist/components/Window/Window.js 335 B
./dist/constants/limits.js 183 B
./dist/constants/messageTypes.js 105 B
./dist/context/AttachmentSelectorContext.js 199 B
./dist/context/ChannelActionContext.js 550 B
./dist/context/ChannelListContext.js 356 B
./dist/context/ChannelStateContext.js 548 B
./dist/context/ChatContext.js 538 B
./dist/context/ComponentContext.js 466 B
./dist/context/DialogManagerContext.js 297 B
./dist/context/index.js 155 B
./dist/context/MessageContext.js 491 B
./dist/context/MessageInputContext.js 329 B
./dist/context/MessageListContext.js 356 B
./dist/context/PollContext.js 206 B
./dist/context/TranslationContext.js 558 B
./dist/context/TypingContext.js 543 B
./dist/context/utils/getDisplayName.js 83 B
./dist/context/VirtualizedMessageListContext.js 237 B
./dist/context/WithComponents.js 212 B
./dist/css/v2/emoji-mart.css 1.84 kB
./dist/css/v2/emoji-replacement.css 300 B
./dist/css/v2/index.css 36.4 kB
./dist/css/v2/index.layout.css 20.7 kB
./dist/experimental/index.js 66 B
./dist/experimental/MessageActions/defaults.js 1.07 kB
./dist/experimental/MessageActions/hooks/index.js 82 B
./dist/experimental/MessageActions/hooks/useBaseMessageActionSetFilter.js 820 B
./dist/experimental/MessageActions/hooks/useSplitMessageActionSet.js 216 B
./dist/experimental/MessageActions/index.js 72 B
./dist/experimental/MessageActions/MessageActions.js 1.13 kB
./dist/experimental/Search/hooks/index.js 86 B
./dist/experimental/Search/hooks/useSearchQueriesInProgress.js 388 B
./dist/experimental/Search/index.js 83 B
./dist/experimental/Search/Search.js 485 B
./dist/experimental/Search/SearchBar/index.js 49 B
./dist/experimental/Search/SearchBar/SearchBar.js 852 B
./dist/experimental/Search/SearchContext.js 244 B
./dist/experimental/Search/SearchResults/index.js 128 B
./dist/experimental/Search/SearchResults/SearchResults.js 520 B
./dist/experimental/Search/SearchResults/SearchResultsPresearch.js 213 B
./dist/experimental/Search/SearchResults/SearchSourceResultList.js 563 B
./dist/experimental/Search/SearchResults/SearchSourceResultListFooter.js 426 B
./dist/experimental/Search/SearchResults/SearchSourceResultsEmpty.js 215 B
./dist/experimental/Search/SearchResults/SearchSourceResultsHeader.js 73 B
./dist/experimental/Search/SearchResults/SearchSourceResultsLoadingIndicator.js 275 B
./dist/experimental/Search/SearchSourceResultsContext.js 255 B
./dist/i18n/de.json 3.82 kB
./dist/i18n/en.json 2.52 kB
./dist/i18n/es.json 3.81 kB
./dist/i18n/fr.json 3.93 kB
./dist/i18n/hi.json 4.39 kB
./dist/i18n/index.js 162 B
./dist/i18n/it.json 3.84 kB
./dist/i18n/ja.json 4.16 kB
./dist/i18n/ko.json 4.08 kB
./dist/i18n/nl.json 3.73 kB
./dist/i18n/pt.json 3.82 kB
./dist/i18n/ru.json 4.68 kB
./dist/i18n/Streami18n.js 5.32 kB
./dist/i18n/tr.json 3.77 kB
./dist/i18n/translations.js 172 B
./dist/i18n/types.js 31 B
./dist/i18n/utils.js 1.09 kB
./dist/index.js 85 B
./dist/plugins/Emojis/EmojiPicker.js 949 B
./dist/plugins/Emojis/icons.js 436 B
./dist/plugins/Emojis/index.browser.cjs 2.42 kB
./dist/plugins/Emojis/index.js 74 B
./dist/plugins/Emojis/index.node.cjs 2.46 kB
./dist/plugins/encoders/mp3.browser.cjs 1.67 kB
./dist/plugins/encoders/mp3.js 780 B
./dist/plugins/encoders/mp3.node.cjs 1.71 kB
./dist/store/hooks/index.js 53 B
./dist/store/hooks/useStateStore.js 600 B
./dist/store/index.js 45 B
./dist/types/index.js 31 B
./dist/types/types.js 31 B
./dist/utils/browsers.js 154 B
./dist/utils/deprecationWarning.js 294 B
./dist/utils/getChannel.js 884 B
./dist/utils/getWholeChar.js 415 B
./dist/utils/index.js 65 B
./dist/utils/mergeDeep.js 170 B

compressed-size-action

Copy link

codecov bot commented Feb 6, 2025

Codecov Report

Attention: Patch coverage is 90.32258% with 90 lines in your changes missing coverage. Please review.

Project coverage is 81.05%. Comparing base (50ee29c) to head (239997c).
Report is 15 commits behind head on rc.

Files with missing lines Patch % Lines
src/components/Channel/Channel.tsx 76.47% 7 Missing and 1 partial ⚠️
src/components/MessageInput/DropzoneProvider.tsx 37.50% 5 Missing ⚠️
...rc/components/AIStateIndicator/hooks/useAIState.ts 33.33% 3 Missing and 1 partial ⚠️
...rc/components/MessageInput/hooks/useUserTrigger.ts 83.33% 3 Missing ⚠️
...c/components/Poll/hooks/usePollAnswerPagination.ts 40.00% 2 Missing and 1 partial ⚠️
...ponents/Poll/hooks/usePollOptionVotesPagination.ts 50.00% 3 Missing ⚠️
src/context/ChatContext.tsx 66.66% 3 Missing ⚠️
src/context/MessageContext.tsx 62.50% 3 Missing ⚠️
...nts/ChannelList/hooks/useChannelDeletedListener.ts 50.00% 2 Missing ⚠️
...ents/ChannelList/hooks/useChannelHiddenListener.ts 50.00% 2 Missing ⚠️
... and 36 more
Additional details and impacted files
@@            Coverage Diff             @@
##               rc    #2634      +/-   ##
==========================================
- Coverage   81.14%   81.05%   -0.09%     
==========================================
  Files         469      469              
  Lines        9939     9908      -31     
  Branches     2411     2410       -1     
==========================================
- Hits         8065     8031      -34     
+ Misses       1494     1492       -2     
- Partials      380      385       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@arnautov-anton arnautov-anton force-pushed the fix/remove-stream-chat-generics branch 11 times, most recently from c9d1e66 to 3349707 Compare February 12, 2025 16:53
Comment on lines +28 to +36
export type StreamMessage =
// FIXME: we should use only one of the two (either formatted or unformatted)
(ReturnType<StreamChannelState['formatMessage']> | MessageResponse) & {
customType?: string;
errorStatusCode?: number;
error?: ErrorFromResponse<APIErrorResponse>;
editing?: boolean;
date?: Date;
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should revisit StreamMessage and decide what its shape should be as of a "local" message. In my opinion we should treat it as FormattedMessageResponse with some extra properties (lines 31-35), which we sometimes add.

@arnautov-anton arnautov-anton force-pushed the fix/remove-stream-chat-generics branch 3 times, most recently from 73f23f0 to 7d0a418 Compare February 13, 2025 14:20
@arnautov-anton arnautov-anton force-pushed the fix/remove-stream-chat-generics branch from 7d0a418 to 4660d30 Compare February 20, 2025 12:54

const isMessageAIGenerated = (message: StreamMessage<StreamChatGenerics>) =>
!!message?.ai_generated;
const isMessageAIGenerated = (message: StreamMessage) => !!message?.ai_generated;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, perhaps the typescript compiler is malfunctioning here for some reason - this should be complaining here unless we extend the CustomMessageData interface to include the field; curious as to why it's not ?

@arnautov-anton arnautov-anton force-pushed the fix/remove-stream-chat-generics branch from 4660d30 to 21e9925 Compare March 7, 2025 15:22
@arnautov-anton arnautov-anton changed the title fix!: replace StreamChatGenerics with module augmentation fix: replace StreamChatGenerics with module augmentation Mar 7, 2025
@arnautov-anton arnautov-anton force-pushed the fix/remove-stream-chat-generics branch from 74449b1 to 239997c Compare March 12, 2025 16:17
@arnautov-anton arnautov-anton changed the base branch from master to rc March 13, 2025 12:10
@arnautov-anton arnautov-anton marked this pull request as ready for review March 13, 2025 12:16
@arnautov-anton arnautov-anton merged commit 67bed79 into rc Mar 13, 2025
7 checks passed
@arnautov-anton arnautov-anton deleted the fix/remove-stream-chat-generics branch March 13, 2025 12:17
github-actions bot pushed a commit that referenced this pull request Apr 28, 2025
## [13.0.0-rc.1](v12.14.0...v13.0.0-rc.1) (2025-04-28)

### ⚠ BREAKING CHANGES

* `Channel` props `dragAndDropWindow` &
`optionalMessageInputProps` have been removed, use
* Remove ChatAutoComplete, AutoCompleteTextarea,
DefaultSuggestionList, DefaultSuggestionListItem and introduce
TextareaComposer, SuggestionList, SuggestionListItem
* Remove defaultScrollToItem function previously used by
SuggestionList
* Removed DefaultTriggerProvider component
* Remove from Channel props - acceptedFiles,
enrichURLForPreview, enrichURLForPreviewConfig, maxNumberOfFiles,
multipleUploads, TriggerProvider
* Removal of acceptedFiles, debounceURLEnrichmentMs,
enrichURLForPreview, findURLFn, multipleUploads, onLinkPreviewDismissed,
quotedMessage from ChannelStateContext
* Changed signature for functions sendMessage and
editMessage in ChannelActionContext
* Changed signature for handleSubmit
* Removed setQuotedMessage from ChannelActionContext
* Removed types MessageToSend, StreamMessage,
UpdatedMessage in favor of LocalMessage or RenderedMessage
* Removed Trigger generics from ChannelProps
* Message input state as well as the API is now kept
within MessageComposer instead of MessageInputContext
* Renamed useMessageInputState to useMessageInputControls
as it does not handle the composition state anymore
* Removed from MessageInputProps - disabled,
disableMentions, doFileUploadRequest, doImageUploadRequest,
errorHandler, getDefaultValue, mentionAllAppUsers, mentionQueryParams,
message, noFiles, urlEnrichmentConfig, useMentionsTransliteration,
additionalTextareaProps do not expect default value anymore
* Changed the signature of MessageInput prop
overrideSubmitHandler
* Local attachment and link preview types moved to
stream-chat
* The SuggestionListItem UI components for
TextareaComposer receive tokenizedDisplayName instead of itemNameParts
* Removed duplicate types SendMessageOptions,
UpdateMessageOptions which should be imported from stream-chat instead
* Removed type LinkPreviewListProps - LinkPreviewList
does not have any props anymore
* dropped `StreamChatGenerics`, use `Custom<Entity>Data`
to extend your types

### Bug Fixes

* replace StreamChatGenerics with module augmentation ([#2634](#2634)) ([67bed79](67bed79))

### Features

* default data interfaces ([#2683](#2683)) ([a88e145](a88e145))
* introduce WithDragAndDropUpload component ([#2688](#2688)) ([6b03abd](6b03abd))
* message composer ([#2669](#2669)) ([fa2519b](fa2519b)), closes [#2688](#2688)

### Chores

* **deps:** upgrade @stream-io/stream-chat-css to v5.8.1 ([#2689](#2689)) ([d0c32e3](d0c32e3))

### Refactors

* simplify WithDragAndDropUpload API ([#2691](#2691)) ([46c9add](46c9add))
@stream-ci-bot
Copy link

🎉 This PR is included in version 13.0.0-rc.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Successfully merging this pull request may close these issues.

3 participants