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

fix: change useStateStore to use useSyncExternalStore instead #2573

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

Conversation

arnautov-anton
Copy link
Contributor

@arnautov-anton arnautov-anton commented Dec 6, 2024

🎯 Goal

Changing stores on the fly would keep previously calculated state for a bit before the effect would run to recalculate it - using useSyncExternalStore (thank you, @myandrienko) should alleviate this issue. Both subscribe and getSnapshot functions required by the React hook are wrapped to allow for selector functionality, geSnapshot requires the output to be cached so the wrapper reuses similar cache check mechanism as subscribeWithSelector does internally.

Copy link

github-actions bot commented Dec 6, 2024

Size Change: +1.49 kB (+0.13%)

Total Size: 1.17 MB

Filename Size Change
./dist/experimental/index.browser.cjs 10.3 kB +276 B (+2.76%)
./dist/experimental/index.node.cjs 10.3 kB +274 B (+2.72%)
./dist/index.browser.cjs 377 kB +269 B (+0.07%)
./dist/index.node.cjs 413 kB +301 B (+0.07%)
./dist/store/hooks/useStateStore.js 600 B +368 B (+158.62%) 🆘
ℹ️ 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.51 kB
./dist/components/Attachment/components/DownloadButton.js 241 B
./dist/components/Attachment/components/FileSizeIndicator.js 290 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.36 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 740 B
./dist/components/Attachment/VoiceRecording.js 943 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.09 kB
./dist/components/AutoCompleteTextarea/types.js 31 B
./dist/components/AutoCompleteTextarea/utils.js 794 B
./dist/components/Avatar/Avatar.js 621 B
./dist/components/Avatar/ChannelAvatar.js 219 B
./dist/components/Avatar/GroupAvatar.js 351 B
./dist/components/Avatar/index.js 65 B
./dist/components/Channel/Channel.js 8.69 kB
./dist/components/Channel/channelState.js 916 B
./dist/components/Channel/constants.js 77 B
./dist/components/Channel/hooks/useChannelContainerClasses.js 312 B
./dist/components/Channel/hooks/useCreateChannelStateContext.js 1.18 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 377 B
./dist/components/Channel/index.js 118 B
./dist/components/Channel/LoadingChannel.js 342 B
./dist/components/Channel/utils.js 733 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/ChannelList.js 2.47 kB
./dist/components/ChannelList/ChannelListMessenger.js 430 B
./dist/components/ChannelList/hooks/index.js 193 B
./dist/components/ChannelList/hooks/useChannelDeletedListener.js 383 B
./dist/components/ChannelList/hooks/useChannelHiddenListener.js 385 B
./dist/components/ChannelList/hooks/useChannelTruncatedListener.js 314 B
./dist/components/ChannelList/hooks/useChannelUpdatedListener.js 449 B
./dist/components/ChannelList/hooks/useChannelVisibleListener.js 406 B
./dist/components/ChannelList/hooks/useConnectionRecoveredListener.js 244 B
./dist/components/ChannelList/hooks/useMessageNewListener.js 525 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.25 kB
./dist/components/ChannelList/hooks/useUserPresenceChangedListener.js 369 B
./dist/components/ChannelList/index.js 78 B
./dist/components/ChannelList/utils.js 270 B
./dist/components/ChannelPreview/ChannelPreview.js 963 B
./dist/components/ChannelPreview/ChannelPreviewMessenger.js 800 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/index.js 81 B
./dist/components/ChannelPreview/utils.js 1.09 kB
./dist/components/ChannelSearch/ChannelSearch.js 816 B
./dist/components/ChannelSearch/hooks/useChannelSearch.js 1.66 kB
./dist/components/ChannelSearch/icons.js 684 B
./dist/components/ChannelSearch/index.js 85 B
./dist/components/ChannelSearch/SearchBar.js 1.1 kB
./dist/components/ChannelSearch/SearchInput.js 295 B
./dist/components/ChannelSearch/SearchResults.js 1.31 kB
./dist/components/ChannelSearch/utils.js 72 B
./dist/components/Chat/Chat.js 619 B
./dist/components/Chat/hooks/useChannelsQueryState.js 181 B
./dist/components/Chat/hooks/useChat.js 1.21 kB
./dist/components/Chat/hooks/useCreateChatClient.js 478 B
./dist/components/Chat/hooks/useCreateChatContext.js 541 B
./dist/components/Chat/index.js 71 B
./dist/components/ChatAutoComplete/ChatAutoComplete.js 973 B
./dist/components/ChatAutoComplete/index.js 56 B
./dist/components/ChatView/ChatView.js 1.35 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 900 B
./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 386 B
./dist/components/Dialog/index.js 79 B
./dist/components/Dialog/PromptDialog.js 282 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 738 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 kB
./dist/components/Gallery/Image.js 595 B
./dist/components/Gallery/index.js 70 B
./dist/components/Gallery/ModalGallery.js 605 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.59 kB
./dist/components/InfiniteScrollPaginator/InfiniteScrollPaginator.js 968 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 444 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.54 kB
./dist/components/Message/hooks/index.js 160 B
./dist/components/Message/hooks/useActionHandler.js 561 B
./dist/components/Message/hooks/useDeleteHandler.js 396 B
./dist/components/Message/hooks/useEditHandler.js 243 B
./dist/components/Message/hooks/useFlagHandler.js 509 B
./dist/components/Message/hooks/useMarkUnreadHandler.js 497 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 647 B
./dist/components/Message/hooks/useReactionHandler.js 1.46 kB
./dist/components/Message/hooks/useReactionsFetcher.js 513 B
./dist/components/Message/hooks/useRetryHandler.js 205 B
./dist/components/Message/hooks/useUserHandler.js 193 B
./dist/components/Message/hooks/useUserRole.js 661 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.22 kB
./dist/components/Message/MessageStatus.js 1.11 kB
./dist/components/Message/MessageText.js 863 B
./dist/components/Message/MessageTimestamp.js 281 B
./dist/components/Message/QuotedMessage.js 826 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 438 B
./dist/components/Message/types.js 31 B
./dist/components/Message/utils.js 2.89 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 996 B
./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 597 B
./dist/components/MessageInput/AttachmentPreviewList/FileAttachmentPreview.js 679 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 653 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 409 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.06 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 881 B
./dist/components/MessageInput/hooks/usePasteHandler.js 659 B
./dist/components/MessageInput/hooks/useSubmitHandler.js 1.75 kB
./dist/components/MessageInput/hooks/useTimeElapsed.js 352 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.68 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 637 B
./dist/components/MessageInput/MessageInputFlat.js 2.37 kB
./dist/components/MessageInput/QuotedMessagePreview.js 787 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 425 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 535 B
./dist/components/MessageList/hooks/MessageList/useMessageListScrollManager.js 866 B
./dist/components/MessageList/hooks/MessageList/useScrollLocationLogic.js 793 B
./dist/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.js 984 B
./dist/components/MessageList/hooks/useLastReadData.js 207 B
./dist/components/MessageList/hooks/useMarkRead.js 1.15 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 321 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 423 B
./dist/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.js 387 B
./dist/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.js 633 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 439 B
./dist/components/MessageList/MessageNotification.js 268 B
./dist/components/MessageList/renderMessages.js 1.13 kB
./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.8 kB
./dist/components/MessageList/VirtualizedMessageList.js 3.8 kB
./dist/components/MessageList/VirtualizedMessageListComponents.js 1.86 kB
./dist/components/MML/index.js 43 B
./dist/components/MML/MML.js 394 B
./dist/components/Modal/icons.js 431 B
./dist/components/Modal/index.js 45 B
./dist/components/Modal/Modal.js 594 B
./dist/components/Modal/ModalHeader.js 242 B
./dist/components/Poll/constants.js 122 B
./dist/components/Poll/hooks/index.js 77 B
./dist/components/Poll/hooks/useManagePollVotesRealtime.js 631 B
./dist/components/Poll/hooks/usePollAnswerPagination.js 504 B
./dist/components/Poll/hooks/usePollOptionVotesPagination.js 509 B
./dist/components/Poll/index.js 127 B
./dist/components/Poll/Poll.js 247 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 489 B
./dist/components/Poll/PollActions/PollResults/PollOptionWithLatestVotes.js 525 B
./dist/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.js 473 B
./dist/components/Poll/PollActions/PollResults/PollResults.js 690 B
./dist/components/Poll/PollActions/SuggestPollOptionForm.js 632 B
./dist/components/Poll/PollContent.js 417 B
./dist/components/Poll/PollCreationDialog/index.js 58 B
./dist/components/Poll/PollCreationDialog/OptionFieldSet.js 1.25 kB
./dist/components/Poll/PollCreationDialog/PollCreationDialog.js 1.43 kB
./dist/components/Poll/PollCreationDialog/PollCreationDialogControls.js 775 B
./dist/components/Poll/PollCreationDialog/types.js 31 B
./dist/components/Poll/PollHeader.js 508 B
./dist/components/Poll/PollOptionList.js 430 B
./dist/components/Poll/PollOptionSelector.js 1.17 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 914 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 641 B
./dist/components/ReactFileUtilities/utils.js 1.17 kB
./dist/components/Reactions/hooks/useFetchReactions.js 411 B
./dist/components/Reactions/hooks/useProcessReactions.js 959 B
./dist/components/Reactions/index.js 109 B
./dist/components/Reactions/reactionOptions.js 324 B
./dist/components/Reactions/ReactionSelector.js 1.73 kB
./dist/components/Reactions/ReactionSelectorWithButton.js 643 B
./dist/components/Reactions/ReactionsList.js 943 B
./dist/components/Reactions/ReactionsListModal.js 946 B
./dist/components/Reactions/SimpleReactionsList.js 779 B
./dist/components/Reactions/SpriteImage.js 638 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.49 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 880 B
./dist/components/Threads/index.js 61 B
./dist/components/Threads/ThreadContext.js 239 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 561 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 372 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 469 B
./dist/context/DialogManagerContext.js 294 B
./dist/context/index.js 155 B
./dist/context/MessageBounceContext.js 583 B
./dist/context/MessageContext.js 495 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/WithComponents.js 210 B
./dist/css/v2/emoji-mart.css 1.84 kB
./dist/css/v2/emoji-replacement.css 300 B
./dist/css/v2/index.css 34.4 kB
./dist/css/v2/index.layout.css 19.5 kB
./dist/experimental/index.js 54 B
./dist/experimental/MessageActions/defaults.js 1.08 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.15 kB
./dist/i18n/de.json 3.67 kB
./dist/i18n/en.json 2.4 kB
./dist/i18n/es.json 3.65 kB
./dist/i18n/fr.json 3.77 kB
./dist/i18n/hi.json 4.23 kB
./dist/i18n/index.js 162 B
./dist/i18n/it.json 3.69 kB
./dist/i18n/ja.json 3.99 kB
./dist/i18n/ko.json 3.92 kB
./dist/i18n/nl.json 3.58 kB
./dist/i18n/pt.json 3.65 kB
./dist/i18n/ru.json 4.5 kB
./dist/i18n/Streami18n.js 5.31 kB
./dist/i18n/tr.json 3.61 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 983 B
./dist/plugins/Emojis/icons.js 436 B
./dist/plugins/Emojis/index.browser.cjs 2.41 kB
./dist/plugins/Emojis/index.js 74 B
./dist/plugins/Emojis/index.node.cjs 2.45 kB
./dist/plugins/encoders/mp3.browser.cjs 1.67 kB
./dist/plugins/encoders/mp3.js 780 B
./dist/plugins/encoders/mp3.node.cjs 1.7 kB
./dist/store/hooks/index.js 53 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 Dec 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.98%. Comparing base (54640ac) to head (1c36b8c).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2573      +/-   ##
==========================================
+ Coverage   82.95%   82.98%   +0.02%     
==========================================
  Files         444      444              
  Lines        9222     9237      +15     
  Branches     2254     2258       +4     
==========================================
+ Hits         7650     7665      +15     
  Misses       1239     1239              
  Partials      333      333              

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

@arnautov-anton arnautov-anton force-pushed the fix/use-sync-external-store branch from d9b6440 to 2a7f072 Compare December 6, 2024 11:18
@arnautov-anton arnautov-anton force-pushed the fix/use-sync-external-store branch from 897e7fd to eb4d195 Compare December 8, 2024 11:36
@arnautov-anton arnautov-anton marked this pull request as ready for review December 8, 2024 11:36
@@ -1,7 +1,10 @@
import { useEffect, useState } from 'react';
import { useCallback, useMemo, useSyncExternalStore } from 'react';
Copy link
Contributor

Choose a reason for hiding this comment

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

To support older React versions, it's better to use the use-sync-external-store/shim package. It also has a useSyncExternalStoreWithSelector helper hook which will do selector and selection memoization for you.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you, I'll use the shim but the one with selector still requires you to provide a comparator for the selected values so I'll keep it the way it is as it seems that re-writing it to fit the other API would yield similar results - or as would James Franco say:

@arnautov-anton arnautov-anton force-pushed the fix/use-sync-external-store branch from 442c7c7 to 1c36b8c Compare December 9, 2024 14:16
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