Skip to content
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

feat: add general purpose search components #2588

Open
wants to merge 54 commits into
base: master
Choose a base branch
from

Conversation

MartinCupela
Copy link
Contributor

@MartinCupela MartinCupela commented Dec 20, 2024

🎯 Goal

Provide general purpose search components and controller. Allow for absolute search customization.

Fixes React-24

Depends on

🛠 Implementation details

Search controller

Coordinates search execution among individual search sources. Allows to combine unknown search sources defined by the integrator. Implements the search state machine.

Base search source

Takes care of common search source task like:

  • debounced execution of the query logic defined by every search source
  • keep the activity, pagination and loading state.

Search source

Class that takes advantage of inheriting from BaseSearchSource. Each search source should defined integrators or the default one is responsible for:

  • custom search query composition and execution,
  • additional query results filtering
  • search filters / sort / options override

React components

The new components live in experimental/Search folder. This allows for component name duplication compared to ChannelSearch components.

An important change is the ability to jump from a message search result to that message in the parent channel. Currently the information about the jumped-to-message is stored in the SearchController state, but this should be moved to a future message list controller state.

The searchController instance has been added to the ChatContext.

ChannelList allows to override the ChannelSearch component with the experimental Search component as

<WithComponents overrides={{ Search }}>
 <ChannelList/>
</WithComponents>

Also ChannelAvatar has been added to the component context value as a separate key and is prioritized in ChannelHeader and ChannelPreview,

Out of scope

  • search for replies - we cannot jump to a message in a thread message list and implementing this would extend the scope of the PR
  • showing search querying errors - we do not have a general purpose notification service implementation of which would extend the scope
  • keeping the search string history in SearchController - missing clear specs / exploration on how this should work
  • ability to add custom search source state properties
  • removing messages that were truncated - this should be handled by the back-end, but is not at the moment and so the results will contain messages to which it will not be possible jump

🎨 UI Changes

  1. Search inactive
image
  1. Search active (all sources active)
image
  1. Search active (single source active)
image
  1. Quick overview of state changes
VO0L.webm

@MartinCupela MartinCupela marked this pull request as ready for review January 17, 2025 17:06
@GetStream GetStream deleted a comment from github-actions bot Jan 31, 2025
Copy link

github-actions bot commented Jan 31, 2025

Size Change: +149 kB (+12.42%) ⚠️

Total Size: 1.35 MB

Filename Size Change
./dist/components/Channel/Channel.js 8.92 kB +190 B (+2.18%)
./dist/components/Channel/channelState.js 938 B +13 B (+1.41%)
./dist/components/ChannelList/ChannelList.js 2.68 kB +243 B (+9.97%) ⚠️
./dist/components/ChannelPreview/ChannelPreview.js 950 B -13 B (-1.35%)
./dist/components/ChannelSearch/SearchBar.js 1.08 kB -19 B (-1.73%)
./dist/components/ChannelSearch/SearchResults.js 1.29 kB -25 B (-1.91%)
./dist/components/Chat/Chat.js 754 B +135 B (+21.81%) 🚨
./dist/components/Chat/hooks/useCreateChatContext.js 557 B +16 B (+2.96%)
./dist/components/InfiniteScrollPaginator/InfiniteScroll.js 1.61 kB +11 B (+0.69%)
./dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.js 996 B +28 B (+2.89%)
./dist/css/v2/index.css 36.4 kB +1.84 kB (+5.32%) 🔍
./dist/css/v2/index.layout.css 20.7 kB +1.17 kB (+5.97%) 🔍
./dist/experimental/index.browser.cjs 70.2 kB +60.2 kB (+602.6%) 🆘
./dist/experimental/index.js 66 B +12 B (+22.22%) 🚨
./dist/experimental/index.node.cjs 82.3 kB +72.3 kB (+717.9%) 🆘
./dist/i18n/de.json 3.82 kB +137 B (+3.72%)
./dist/i18n/en.json 2.52 kB +104 B (+4.31%)
./dist/i18n/es.json 3.81 kB +141 B (+3.84%)
./dist/i18n/fr.json 3.93 kB +139 B (+3.67%)
./dist/i18n/hi.json 4.39 kB +140 B (+3.29%)
./dist/i18n/it.json 3.84 kB +136 B (+3.67%)
./dist/i18n/ja.json 4.16 kB +149 B (+3.72%)
./dist/i18n/ko.json 4.08 kB +143 B (+3.63%)
./dist/i18n/nl.json 3.73 kB +127 B (+3.53%)
./dist/i18n/pt.json 3.82 kB +145 B (+3.95%)
./dist/i18n/ru.json 4.68 kB +145 B (+3.2%)
./dist/i18n/tr.json 3.77 kB +137 B (+3.77%)
./dist/index.browser.cjs 386 kB +1.87 kB (+0.49%)
./dist/index.node.cjs 424 kB +1.93 kB (+0.46%)
./dist/experimental/Search/hooks/index.js 86 B +86 B (new file) 🆕
./dist/experimental/Search/hooks/useSearchFocusedMessage.js 224 B +224 B (new file) 🆕
./dist/experimental/Search/hooks/useSearchQueriesInProgress.js 388 B +388 B (new file) 🆕
./dist/experimental/Search/index.js 83 B +83 B (new file) 🆕
./dist/experimental/Search/Search.js 485 B +485 B (new file) 🆕
./dist/experimental/Search/SearchBar/index.js 49 B +49 B (new file) 🆕
./dist/experimental/Search/SearchBar/SearchBar.js 852 B +852 B (new file) 🆕
./dist/experimental/Search/SearchContext.js 244 B +244 B (new file) 🆕
./dist/experimental/Search/SearchResults/index.js 128 B +128 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchResultItem.js 1.11 kB +1.11 kB (new file) 🆕
./dist/experimental/Search/SearchResults/SearchResults.js 520 B +520 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchResultsHeader.js 599 B +599 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchResultsPresearch.js 213 B +213 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchSourceResultList.js 563 B +563 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchSourceResultListFooter.js 426 B +426 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchSourceResults.js 461 B +461 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchSourceResultsEmpty.js 215 B +215 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchSourceResultsHeader.js 73 B +73 B (new file) 🆕
./dist/experimental/Search/SearchResults/SearchSourceResultsLoadingIndicator.js 275 B +275 B (new file) 🆕
./dist/experimental/Search/SearchSourceResultsContext.js 255 B +255 B (new file) 🆕
ℹ️ 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/AttachmentContainer.js 1.92 kB
./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/FileSizeIndicator.js 291 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/UnsupportedAttachment.js 308 B
./dist/components/Attachment/utils.js 750 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/ChannelAvatar.js 221 B
./dist/components/Avatar/GroupAvatar.js 351 B
./dist/components/Avatar/index.js 65 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/useChannelListShape.js 2.72 kB
./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/usePaginatedChannels.js 1.26 kB
./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/ChannelList/utils.js 1.37 kB
./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/hooks/useChannelSearch.js 1.73 kB
./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/hooks/useChannelsQueryState.js 181 B
./dist/components/Chat/hooks/useChat.js 1.22 kB
./dist/components/Chat/hooks/useCreateChatClient.js 482 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/FormDialog.js 1.02 kB
./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/Form/SwitchField.js 459 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/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/LoadMore/LoadMorePaginator.js 443 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.67 kB
./dist/components/MediaRecorder/hooks/index.js 31 B
./dist/components/MediaRecorder/hooks/useMediaRecorder.js 705 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/useActionHandler.js 562 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/useMuteHandler.js 666 B
./dist/components/Message/hooks/useOpenThreadHandler.js 265 B
./dist/components/Message/hooks/usePinHandler.js 649 B
./dist/components/Message/hooks/useReactionHandler.js 1.47 kB
./dist/components/Message/hooks/useReactionsFetcher.js 513 B
./dist/components/Message/hooks/useRetryHandler.js 206 B
./dist/components/Message/hooks/useUserHandler.js 193 B
./dist/components/Message/hooks/useUserRole.js 664 B
./dist/components/Message/icons.js 1.25 kB
./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/QuotedMessage.js 823 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/componentRenderers/Mention.js 175 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.67 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/AttachmentPreviewList.js 599 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/AttachmentSelector.js 1.9 kB
./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/useAttachments.js 2.07 kB
./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/useMessageInputState.js 2 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/useUserTrigger.js 1.53 kB
./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/MessageInput.js 640 B
./dist/components/MessageInput/MessageInputFlat.js 2.38 kB
./dist/components/MessageInput/QuotedMessagePreview.js 785 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/ConnectionStatus.js 426 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/useEnrichedMessages.js 628 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/MessageList.js 2.66 kB
./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/MessageList/utils.js 2.97 kB
./dist/components/MessageList/VirtualizedMessageList.js 3.82 kB
./dist/components/MessageList/VirtualizedMessageListComponents.js 1.74 kB
./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/usePollAnswerPagination.js 516 B
./dist/components/Poll/hooks/usePollOptionVotesPagination.js 520 B
./dist/components/Poll/index.js 127 B
./dist/components/Poll/Poll.js 246 B
./dist/components/Poll/PollActions/AddCommentForm.js 521 B
./dist/components/Poll/PollActions/EndPollDialog.js 396 B
./dist/components/Poll/PollActions/index.js 124 B
./dist/components/Poll/PollActions/PollAction.js 252 B
./dist/components/Poll/PollActions/PollActions.js 1.12 kB
./dist/components/Poll/PollActions/PollAnswerList.js 721 B
./dist/components/Poll/PollActions/PollOptionsFullList.js 378 B
./dist/components/Poll/PollActions/PollResults/index.js 51 B
./dist/components/Poll/PollActions/PollResults/PollOptionVotesList.js 488 B
./dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.js 527 B
./dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.js 473 B
./dist/components/Poll/PollActions/PollResults/PollResults.js 693 B
./dist/components/Poll/PollActions/SuggestPollOptionForm.js 632 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/PollOptionList.js 428 B
./dist/components/Poll/PollOptionSelector.js 1.18 kB
./dist/components/Poll/PollVote.js 694 B
./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 109 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/ReactionsList.js 987 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/Thread.js 1.46 kB
./dist/components/Thread/ThreadHead.js 278 B
./dist/components/Thread/ThreadHeader.js 430 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/MessageBounceContext.js 585 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/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/i18n/index.js 162 B
./dist/i18n/Streami18n.js 5.32 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 232 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 Jan 31, 2025

Codecov Report

Attention: Patch coverage is 88.29114% with 37 lines in your changes missing coverage. Please review.

Project coverage is 81.03%. Comparing base (e81fc69) to head (ed3f7da).

Files with missing lines Patch % Lines
src/components/Channel/Channel.tsx 65.00% 6 Missing and 1 partial ⚠️
src/components/ChannelSearch/SearchResults.tsx 0.00% 5 Missing ⚠️
...imental/Search/hooks/useSearchQueriesInProgress.ts 68.75% 5 Missing ⚠️
...rimental/Search/SearchResults/SearchResultItem.tsx 93.47% 2 Missing and 1 partial ⚠️
...ental/Search/SearchResults/SearchSourceResults.tsx 82.35% 3 Missing ⚠️
...rchResults/SearchSourceResultsLoadingIndicator.tsx 57.14% 3 Missing ⚠️
...xperimental/Search/SearchResults/SearchResults.tsx 90.00% 2 Missing ⚠️
...al/Search/SearchResults/SearchSourceResultList.tsx 90.00% 2 Missing ⚠️
.../Search/SearchResults/SearchSourceResultsEmpty.tsx 60.00% 2 Missing ⚠️
...experimental/Search/SearchSourceResultsContext.tsx 71.42% 2 Missing ⚠️
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2588      +/-   ##
==========================================
+ Coverage   80.76%   81.03%   +0.27%     
==========================================
  Files         450      469      +19     
  Lines        9631     9908     +277     
  Branches     2297     2342      +45     
==========================================
+ Hits         7778     8029     +251     
- Misses       1733     1757      +24     
- Partials      120      122       +2     

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

Comment on lines 75 to 78
const isMessageAIGenerated = useCallback(
(message: StreamMessage<StreamChatGenerics>) => !!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.

I think we can move this out of the App component completely.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved out: fc2a860

@MartinCupela MartinCupela force-pushed the feat/search-channel-by-message-text branch from fc2a860 to ed3f7da Compare February 4, 2025 13:01
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.

2 participants