Skip to content

feat(AudioPlayback)!: play one voice message at a time, across the whole app - #3287

Merged
MartinCupela merged 1 commit into
release-v15from
refactor/drop-concurrent-audio-playback
Sep 14, 2026
Merged

MartinCupela merged 1 commit into
release-v15from
refactor/drop-concurrent-audio-playback

Conversation

@MartinCupela

Copy link
Copy Markdown
Contributor

🎯 Goal

allowConcurrentAudioPlayback let two voice messages play over each other, which is noise
rather than a feature. Removing it is not enough on its own: the flag was scoped to one
audio-player pool, and Channel and Thread mount a pool each, so a channel and a thread
beside it played simultaneously whatever the flag said.

Exclusivity moves to a new AudioPlaybackArbiter, provided by Chat, which owns the single
Audio element and decides who may play. Pools stay per surface, because that is what stops a
thread's audio when it closes while letting a message scrolled out of a virtualized list keep
playing.

That per-surface cleanup had a hole: Channel stopped keying its subtree on the cid in v15, so
a channel switch is a re-render rather than an unmount and the pool was never cleared -- audio
from the channel you left kept playing. WithAudioPlayback gains playbackScope, whose change
clears the pool; Channel passes its channel and Thread its thread. Thread is redundant
today because a key on ThreadInner remounts it, but the code already contemplates removing
that wrapper, and the cleanup should not depend on it.

Dropping the flag also collapses the pool's dual mode: the per-owner element map, the branches
in acquire/release, and the tests parameterized over both are gone. AudioPlayerPool and
AudioPlaybackArbiter stay internal -- an arbiter can only be consumed by the pool, so
exporting it would publish a name nothing public can accept.

BREAKING CHANGE: ChannelProps.allowConcurrentAudioPlayback,
ThreadProps.allowConcurrentAudioPlayback and WithAudioPlaybackProps.allowConcurrentPlayback
are removed, with no replacement. If you passed true, delete it: starting a player now pauses
whichever was playing and takes the shared element over. If you passed false or nothing, the
only change is that playback is exclusive across surfaces rather than within one.

BREAKING CHANGE: useActiveAudioPlayer() now reports the app-wide active player rather than the
calling surface's.

@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 748a7bca-864f-4b75-ab0a-cc53c051473c

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

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

❤️ Share

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

@github-actions

Copy link
Copy Markdown

Size Change: +968 B (+0.12%)

Total Size: 822 kB

📦 View Changed
Filename Size Change
dist/cjs/channel-detail.js 24.6 kB +2 B (+0.01%)
dist/cjs/index.js 6.06 kB +2 B (+0.03%)
dist/cjs/slot-layout.js 520 B +1 B (+0.19%)
dist/cjs/SlotLayout.js 13.1 kB +3 B (+0.02%)
dist/cjs/src.js 222 kB +316 B (+0.14%)
dist/es/components/AudioPlayback/AudioPlaybackArbiter.mjs 964 B +964 B (new file) 🆕
dist/es/components/AudioPlayback/AudioPlayer.mjs 3.85 kB -4 B (-0.1%)
dist/es/components/AudioPlayback/AudioPlayerPool.mjs 815 B -497 B (-37.88%) 🎉
dist/es/components/AudioPlayback/WithAudioPlayback.mjs 1.18 kB +177 B (+17.61%) ⚠️
dist/es/components/Channel/Channel.mjs 1.05 kB -16 B (-1.51%)
dist/es/components/Chat/Chat.mjs 1.24 kB +31 B (+2.56%)
dist/es/components/Thread/Thread.mjs 1.55 kB -11 B (-0.71%)
ℹ️ View Unchanged
Filename Size
dist/cjs/audioProcessing.js 1.74 kB
dist/cjs/emojis.js 2.54 kB
dist/cjs/mp3-encoder.js 814 B
dist/cjs/ReactPlayerWrapper.js 541 B
dist/cjs/slot-js 2.32 kB
dist/cjs/useChannel.js 24.2 kB
dist/css/channel-detail.css 2.84 kB
dist/css/emoji-picker.css 178 B
dist/css/emoji-replacement.css 456 B
dist/css/index.css 42.4 kB
dist/es/a11y/a11yUtils.mjs 630 B
dist/es/a11y/accessibleLabel.mjs 764 B
dist/es/a11y/hooks/useAriaIdentifiers.mjs 540 B
dist/es/a11y/hooks/useListboxKeyboardNavigation.mjs 1.52 kB
dist/es/a11y/hooks/useResolvedModalAriaProps.mjs 497 B
dist/es/a11y/hooks/useVirtualizedListboxKeyboardNavigation.mjs 1.39 kB
dist/es/channel-detail.mjs 802 B
dist/es/components/Accessibility/AriaLiveAnnouncerProvider.mjs 1.65 kB
dist/es/components/Accessibility/AriaLiveOutlet.mjs 964 B
dist/es/components/Accessibility/AriaLiveOutletContext.mjs 194 B
dist/es/components/Accessibility/hooks/useAudioPlaybackChangeAnnouncements.mjs 425 B
dist/es/components/Accessibility/hooks/useFocusReturn.mjs 916 B
dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs 1.26 kB
dist/es/components/Accessibility/hooks/useInertWhenHidden.mjs 1.62 kB
dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs 3.31 kB
dist/es/components/Accessibility/NotificationAnnouncer.mjs 1.36 kB
dist/es/components/Accessibility/scheduling/useAnnouncementQueue.mjs 793 B
dist/es/components/Accessibility/scheduling/useDebouncedAnnounce.mjs 1.68 kB
dist/es/components/Accessibility/scheduling/useSettledAnnouncement.mjs 1.84 kB
dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs 293 B
dist/es/components/AIStateIndicator/AIStateIndicator.mjs 475 B
dist/es/components/AIStateIndicator/hooks/useAIState.mjs 444 B
dist/es/components/Attachment/attachment-sizing.mjs 1.05 kB
dist/es/components/Attachment/Attachment.mjs 1.15 kB
dist/es/components/Attachment/AttachmentActions.mjs 1.65 kB
dist/es/components/Attachment/AttachmentContainer.mjs 1.98 kB
dist/es/components/Attachment/Audio.mjs 1.43 kB
dist/es/components/Attachment/audioSampling.mjs 1.29 kB
dist/es/components/Attachment/components/DownloadButton.mjs 676 B
dist/es/components/Attachment/components/FileSizeIndicator.mjs 436 B
dist/es/components/Attachment/FileAttachment.mjs 569 B
dist/es/components/Attachment/Geolocation.mjs 1.41 kB
dist/es/components/Attachment/Giphy.mjs 1.04 kB
dist/es/components/Attachment/giphyAccessibility.mjs 481 B
dist/es/components/Attachment/icons.mjs 411 B
dist/es/components/Attachment/Image.mjs 346 B
dist/es/components/Attachment/LinkPreview/Card.mjs 1.01 kB
dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs 411 B
dist/es/components/Attachment/ModalGallery.mjs 2.08 kB
dist/es/components/Attachment/UnsupportedAttachment.mjs 403 B
dist/es/components/Attachment/utils.mjs 740 B
dist/es/components/Attachment/VideoAttachment.mjs 702 B
dist/es/components/Attachment/VisibilityDisclaimer.mjs 362 B
dist/es/components/Attachment/VoiceRecording.mjs 1.7 kB
dist/es/components/AudioPlayback/components/DurationDisplay.mjs 596 B
dist/es/components/AudioPlayback/components/formatTime.mjs 339 B
dist/es/components/AudioPlayback/components/keyboardSeek.mjs 524 B
dist/es/components/AudioPlayback/components/PlaybackRateButton.mjs 300 B
dist/es/components/AudioPlayback/components/ProgressBar.mjs 833 B
dist/es/components/AudioPlayback/components/progressBarA11y.mjs 484 B
dist/es/components/AudioPlayback/components/useInteractiveProgressBar.mjs 1.07 kB
dist/es/components/AudioPlayback/components/WaveProgressBar.mjs 1.74 kB
dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs 659 B
dist/es/components/Avatar/Avatar.mjs 980 B
dist/es/components/Avatar/AvatarStack.mjs 665 B
dist/es/components/Avatar/ChannelAvatar.mjs 344 B
dist/es/components/Avatar/GroupAvatar.mjs 868 B
dist/es/components/Avatar/utils.mjs 183 B
dist/es/components/Badge/Badge.mjs 470 B
dist/es/components/Badge/MediaBadge.mjs 430 B
dist/es/components/BaseImage/BaseImage.mjs 682 B
dist/es/components/BaseImage/ImagePlaceholder.mjs 404 B
dist/es/components/BaseImage/toBaseImageDescriptors.mjs 547 B
dist/es/components/Button/Button.mjs 529 B
dist/es/components/Button/PlayButton.mjs 480 B
dist/es/components/Channel/channelInstanceKey.mjs 652 B
dist/es/components/Channel/constants.mjs 156 B
dist/es/components/Channel/hooks/useChannelCapabilities.mjs 350 B
dist/es/components/Channel/hooks/useChannelContainerClasses.mjs 388 B
dist/es/components/ChannelHeader/ChannelHeader.mjs 1.02 kB
dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs 624 B
dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs 681 B
dist/es/components/ChannelList/ChannelList.mjs 1.19 kB
dist/es/components/ChannelList/ChannelListHeader.mjs 430 B
dist/es/components/ChannelList/ChannelLists.mjs 693 B
dist/es/components/ChannelList/ChannelNavigation.mjs 684 B
dist/es/components/ChannelList/hooks/useChannelListKeyboardNavigation.mjs 1.25 kB
dist/es/components/ChannelList/hooks/useChannelMembershipState.mjs 262 B
dist/es/components/ChannelList/hooks/useChannelMembersState.mjs 300 B
dist/es/components/ChannelList/hooks/useChannelPaginatorState.mjs 540 B
dist/es/components/ChannelList/hooks/useSelectedChannelState.mjs 403 B
dist/es/components/ChannelListItem/ChannelListItem.mjs 1.23 kB
dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs 2.6 kB
dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs 518 B
dist/es/components/ChannelListItem/ChannelListItemUI.mjs 1.52 kB
dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs 831 B
dist/es/components/ChannelListItem/hooks/useChannelPreviewInfo.mjs 624 B
dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs 399 B
dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs 271 B
dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs 654 B
dist/es/components/ChannelListItem/utils.a11y.mjs 2.63 kB
dist/es/components/ChannelListItem/utils.mjs 2.75 kB
dist/es/components/Chat/hooks/useChat.mjs 556 B
dist/es/components/Chat/hooks/useCreateChatClient.mjs 526 B
dist/es/components/Chat/hooks/useCreateChatContext.mjs 444 B
dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs 709 B
dist/es/components/Chat/hooks/useSplitActionSet.mjs 317 B
dist/es/components/DateSeparator/DateSeparator.mjs 572 B
dist/es/components/Dialog/components/Alert.mjs 647 B
dist/es/components/Dialog/components/Callout.mjs 825 B
dist/es/components/Dialog/components/ContextMenu.mjs 5.53 kB
dist/es/components/Dialog/components/Prompt.mjs 1.08 kB
dist/es/components/Dialog/components/Viewer.mjs 980 B
dist/es/components/Dialog/hooks/useDialog.mjs 688 B
dist/es/components/Dialog/hooks/usePopoverPosition.mjs 925 B
dist/es/components/Dialog/service/DialogAnchor.mjs 2.06 kB
dist/es/components/Dialog/service/DialogManager.mjs 1.34 kB
dist/es/components/Dialog/service/DialogPortal.mjs 1.02 kB
dist/es/components/DragAndDrop/DragAndDropContainer.mjs 1.16 kB
dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs 603 B
dist/es/components/EventComponent/EventComponent.mjs 462 B
dist/es/components/FileIcon/FileIconSet.mjs 6.71 kB
dist/es/components/FileIcon/iconMap.mjs 512 B
dist/es/components/FileIcon/mimeTypes.mjs 1.73 kB
dist/es/components/FileIcon/mjs 599 B
dist/es/components/Form/FieldError.mjs 261 B
dist/es/components/Form/hooks/useFormState.mjs 550 B
dist/es/components/Form/mjs 1.58 kB
dist/es/components/Form/NumericInput.mjs 1.34 kB
dist/es/components/Form/SwitchField.mjs 1.54 kB
dist/es/components/Form/TextInput.mjs 1.27 kB
dist/es/components/Form/TextInputFieldSet.mjs 376 B
dist/es/components/Gallery/Gallery.mjs 654 B
dist/es/components/Gallery/GalleryContext.mjs 335 B
dist/es/components/Gallery/GalleryHeader.mjs 1.21 kB
dist/es/components/Gallery/GalleryUI.mjs 2.02 kB
dist/es/components/Icons/createIcon.mjs 429 B
dist/es/components/Icons/icons.mjs 18.5 kB
dist/es/components/Icons/mjs 378 B
dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs 598 B
dist/es/components/InfiniteScrollPaginator/InfiniteScroll.mjs 1.34 kB
dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs 1.14 kB
dist/es/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.mjs 826 B
dist/es/components/ListItemLayout/ListItemLayout.mjs 707 B
dist/es/components/Loading/LoadingChannel.mjs 639 B
dist/es/components/Loading/LoadingChannels.mjs 377 B
dist/es/components/Loading/LoadingErrorIndicator.mjs 405 B
dist/es/components/Loading/LoadingIndicator.mjs 247 B
dist/es/components/Loading/progress-indicators.mjs 734 B
dist/es/components/Loading/UploadedSizeIndicator.mjs 413 B
dist/es/components/Loading/UploadProgressIndicator.mjs 344 B
dist/es/components/LoadMore/LoadMoreButton.mjs 503 B
dist/es/components/LoadMore/LoadMorePaginator.mjs 378 B
dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs 640 B
dist/es/components/Location/ShareLocationDialog.mjs 2.26 kB
dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs 628 B
dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs 1.03 kB
dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs 1.05 kB
dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs 996 B
dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs 900 B
dist/es/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.mjs 434 B
dist/es/components/MediaRecorder/AudioRecorder/recordingStateIdentity.mjs 227 B
dist/es/components/MediaRecorder/AudioRecorder/RecordingTimer.mjs 322 B
dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs 1.07 kB
dist/es/components/MediaRecorder/classes/BrowserPermission.mjs 758 B
dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs 2.58 kB
dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs 917 B
dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs 353 B
dist/es/components/MediaRecorder/observable/mjs 186 B
dist/es/components/MediaRecorder/observable/Observable.mjs 315 B
dist/es/components/MediaRecorder/observable/Subject.mjs 550 B
dist/es/components/MediaRecorder/observable/Subscription.mjs 211 B
dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs 503 B
dist/es/components/MediaRecorder/transcode/audioProcessing.mjs 758 B
dist/es/components/MediaRecorder/transcode/index.mjs 351 B
dist/es/components/MediaRecorder/transcode/wav.mjs 1.33 kB
dist/es/components/Message/emojiRegex.mjs 450 B
dist/es/components/Message/hooks/useActionHandler.mjs 604 B
dist/es/components/Message/hooks/useDeleteHandler.mjs 617 B
dist/es/components/Message/hooks/useFlagHandler.mjs 383 B
dist/es/components/Message/hooks/useMarkUnreadHandler.mjs 414 B
dist/es/components/Message/hooks/useMentionsHandler.mjs 377 B
dist/es/components/Message/hooks/useMessageAlsoSentInChannelNavigation.mjs 1.01 kB
dist/es/components/Message/hooks/useMessageReminder.mjs 299 B
dist/es/components/Message/hooks/useMessageTextStreaming.mjs 783 B
dist/es/components/Message/hooks/useMuteHandler.mjs 704 B
dist/es/components/Message/hooks/useOpenThreadHandler.mjs 352 B
dist/es/components/Message/hooks/usePinHandler.mjs 608 B
dist/es/components/Message/hooks/useReactionHandler.mjs 1.33 kB
dist/es/components/Message/hooks/useReactionsFetcher.mjs 498 B
dist/es/components/Message/hooks/useRetryHandler.mjs 301 B
dist/es/components/Message/hooks/useUserHandler.mjs 255 B
dist/es/components/Message/hooks/useUserRole.mjs 746 B
dist/es/components/Message/Message.mjs 1.71 kB
dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs 655 B
dist/es/components/Message/MessageBlocked.mjs 451 B
dist/es/components/Message/MessageBubble.mjs 246 B
dist/es/components/Message/MessageDeletedBubble.mjs 398 B
dist/es/components/Message/MessageEditedIndicator.mjs 722 B
dist/es/components/Message/MessageRepliesCountButton.mjs 1.08 kB
dist/es/components/Message/MessageStatus.mjs 1.26 kB
dist/es/components/Message/MessageText.mjs 1.63 kB
dist/es/components/Message/MessageTimestamp.mjs 383 B
dist/es/components/Message/MessageTranslationIndicator.mjs 886 B
dist/es/components/Message/MessageUI.mjs 2.78 kB
dist/es/components/Message/PinIndicator.mjs 627 B
dist/es/components/Message/QuotedMessage.mjs 427 B
dist/es/components/Message/ReminderNotification.mjs 1.01 kB
dist/es/components/Message/renderText/componentRenderers/Anchor.mjs 406 B
dist/es/components/Message/renderText/componentRenderers/Emoji.mjs 246 B
dist/es/components/Message/renderText/componentRenderers/Mention.mjs 307 B
dist/es/components/Message/renderText/regex.mjs 440 B
dist/es/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.mjs 338 B
dist/es/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.mjs 1.47 kB
dist/es/components/Message/renderText/remarkPlugins/htmlToTextPlugin.mjs 243 B
dist/es/components/Message/renderText/remarkPlugins/imageToLink.mjs 591 B
dist/es/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.mjs 824 B
dist/es/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.mjs 962 B
dist/es/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.mjs 337 B
dist/es/components/Message/renderText/renderText.mjs 1.58 kB
dist/es/components/Message/StreamedMessageText.mjs 500 B
dist/es/components/Message/Timestamp.mjs 525 B
dist/es/components/Message/utils.mjs 2.62 kB
dist/es/components/MessageActions/DeleteMessageAlert.mjs 616 B
dist/es/components/MessageActions/DownloadSubmenu.mjs 843 B
dist/es/components/MessageActions/downloadUtils.mjs 980 B
dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs 1.29 kB
dist/es/components/MessageActions/MessageActions.mjs 4.23 kB
dist/es/components/MessageActions/QuickMessageActionButton.mjs 359 B
dist/es/components/MessageActions/RemindMeSubmenu.mjs 1 kB
dist/es/components/MessageBounce/MessageBounceModal.mjs 347 B
dist/es/components/MessageBounce/MessageBouncePrompt.mjs 805 B
dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.mjs 1.19 kB
dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.mjs 655 B
dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs 1.8 kB
dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs 1.06 kB
dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs 758 B
dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs 1.3 kB
dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs 534 B
dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs 919 B
dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs 545 B
dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs 3.31 kB
dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs 1.39 kB
dist/es/components/MessageComposer/CommandChip.mjs 563 B
dist/es/components/MessageComposer/CooldownTimer.mjs 294 B
dist/es/components/MessageComposer/EditedMessagePreview.mjs 334 B
dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs 542 B
dist/es/components/MessageComposer/hooks/useAttachmentsForPreview.mjs 362 B
dist/es/components/MessageComposer/hooks/useCanCreatePoll.mjs 285 B
dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs 429 B
dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs 419 B
dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs 274 B
dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs 348 B
dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs 414 B
dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs 643 B
dist/es/components/MessageComposer/hooks/useMessageComposerHasSendableData.mjs 274 B
dist/es/components/MessageComposer/hooks/useMessageContentIsEmpty.mjs 274 B
dist/es/components/MessageComposer/hooks/usePasteHandler.mjs 579 B
dist/es/components/MessageComposer/hooks/useSendMessageFn.mjs 1.15 kB
dist/es/components/MessageComposer/hooks/useTextareaRef.mjs 252 B
dist/es/components/MessageComposer/hooks/useUpdateMessageFn.mjs 620 B
dist/es/components/MessageComposer/hooks/utils.mjs 324 B
dist/es/components/MessageComposer/icons.mjs 1.28 kB
dist/es/components/MessageComposer/LinkPreviewList.mjs 1.06 kB
dist/es/components/MessageComposer/MessageComposer.mjs 854 B
dist/es/components/MessageComposer/MessageComposerActions.mjs 1.41 kB
dist/es/components/MessageComposer/MessageComposerUI.mjs 1.43 kB
dist/es/components/MessageComposer/preEditSnapshot.mjs 575 B
dist/es/components/MessageComposer/QuotedMessageIndicator.mjs 263 B
dist/es/components/MessageComposer/QuotedMessagePreview.mjs 3.06 kB
dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs 474 B
dist/es/components/MessageComposer/SendButton.mjs 488 B
dist/es/components/MessageComposer/SendToChannelCheckbox.mjs 764 B
dist/es/components/MessageComposer/StopAIGenerationButton.mjs 373 B
dist/es/components/MessageComposer/WithDragAndDropUpload.mjs 1.57 kB
dist/es/components/MessageList/FloatingDateSeparator.mjs 682 B
dist/es/components/MessageList/GiphyPreviewMessage.mjs 278 B
dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs 643 B
dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs 937 B
dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs 624 B
dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs 1.72 kB
dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs 980 B
dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs 1.21 kB
dist/es/components/MessageList/hooks/useLastDeliveredData.mjs 418 B
dist/es/components/MessageList/hooks/useLastOwnMessage.mjs 249 B
dist/es/components/MessageList/hooks/useLastReadData.mjs 411 B
dist/es/components/MessageList/hooks/useMarkRead.mjs 1.26 kB
dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs 969 B
dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs 434 B
dist/es/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.mjs 396 B
dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs 636 B
dist/es/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.mjs 647 B
dist/es/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.mjs 499 B
dist/es/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.mjs 422 B
dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs 808 B
dist/es/components/MessageList/MessageList.mjs 3.34 kB
dist/es/components/MessageList/MessageListMainPanel.mjs 284 B
dist/es/components/MessageList/NewMessageNotification.mjs 561 B
dist/es/components/MessageList/renderMessages.mjs 1.1 kB
dist/es/components/MessageList/ScrollToLatestMessageButton.mjs 1.17 kB
dist/es/components/MessageList/UnreadMessagesNotification.mjs 850 B
dist/es/components/MessageList/UnreadMessagesSeparator.mjs 744 B
dist/es/components/MessageList/utils.mjs 2.26 kB
dist/es/components/MessageList/VirtualizedMessageList.mjs 4.31 kB
dist/es/components/MessageList/VirtualizedMessageListComponents.mjs 1.65 kB
dist/es/components/Modal/GlobalModal.mjs 1.81 kB
dist/es/components/Notifications/hooks/useNotificationApi.mjs 1.26 kB
dist/es/components/Notifications/hooks/useNotifications.mjs 569 B
dist/es/components/Notifications/hooks/useNotificationTarget.mjs 410 B
dist/es/components/Notifications/hooks/useSystemNotifications.mjs 457 B
dist/es/components/Notifications/Notification.mjs 1.23 kB
dist/es/components/Notifications/NotificationConfigurationContext.mjs 386 B
dist/es/components/Notifications/NotificationList.mjs 3.18 kB
dist/es/components/Notifications/notificationTarget.mjs 636 B
dist/es/components/Poll/hooks/useManagePollVotesRealtime.mjs 686 B
dist/es/components/Poll/hooks/usePollAnswerPagination.mjs 586 B
dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs 601 B
dist/es/components/Poll/mjs 926 B
dist/es/components/Poll/Poll.mjs 302 B
dist/es/components/Poll/PollActions/AddCommentPrompt.mjs 1.32 kB
dist/es/components/Poll/PollActions/EndPollAlert.mjs 823 B
dist/es/components/Poll/PollActions/PollAction.mjs 492 B
dist/es/components/Poll/PollActions/PollActions.mjs 1.37 kB
dist/es/components/Poll/PollActions/PollAnswerList.mjs 1.05 kB
dist/es/components/Poll/PollActions/PollOptionsFullList.mjs 583 B
dist/es/components/Poll/PollActions/PollQuestion.mjs 346 B
dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs 852 B
dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs 709 B
dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs 614 B
dist/es/components/Poll/PollActions/PollResults/PollResults.mjs 1.11 kB
dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs 1.31 kB
dist/es/components/Poll/PollContent.mjs 489 B
dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs 1.44 kB
dist/es/components/Poll/PollCreationDialog/NameField.mjs 761 B
dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs 2.35 kB
dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs 1.1 kB
dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs 815 B
dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs 1.01 kB
dist/es/components/Poll/PollHeader.mjs 683 B
dist/es/components/Poll/PollOptionList.mjs 845 B
dist/es/components/Poll/PollOptionSelector.mjs 1.52 kB
dist/es/components/Portal/Portal.mjs 300 B
dist/es/components/ReactFileUtilities/UploadButton.mjs 813 B
dist/es/components/ReactFileUtilities/utils.mjs 1.06 kB
dist/es/components/Reactions/hooks/useFetchReactions.mjs 714 B
dist/es/components/Reactions/hooks/useProcessReactions.mjs 1.25 kB
dist/es/components/Reactions/MessageReactions.mjs 2.08 kB
dist/es/components/Reactions/MessageReactionsDetail.mjs 1.98 kB
dist/es/components/Reactions/reactionOptions.mjs 1.11 kB
dist/es/components/Reactions/ReactionSelector.mjs 1.56 kB
dist/es/components/Reactions/ReactionSelectorWithButton.mjs 873 B
dist/es/components/Reactions/SpriteImage.mjs 727 B
dist/es/components/Reactions/utils/utils.mjs 284 B
dist/es/components/SafeAnchor/SafeAnchor.mjs 336 B
dist/es/components/Search/hooks/useAnnounceSearchResultCount.mjs 1.31 kB
dist/es/components/Search/hooks/useSearchQueriesInProgress.mjs 450 B
dist/es/components/Search/hooks/useSearchResultsKeyboardNavigation.mjs 721 B
dist/es/components/Search/Search.mjs 642 B
dist/es/components/Search/SearchBar/SearchBar.mjs 1.34 kB
dist/es/components/Search/SearchContext.mjs 331 B
dist/es/components/Search/SearchResults/SearchResultItem.mjs 1.39 kB
dist/es/components/Search/SearchResults/SearchResults.mjs 716 B
dist/es/components/Search/SearchResults/SearchResultsHeader.mjs 910 B
dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs 322 B
dist/es/components/Search/SearchResults/SearchSourceResultList.mjs 649 B
dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs 562 B
dist/es/components/Search/SearchResults/SearchSourceResults.mjs 561 B
dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs 326 B
dist/es/components/Search/SearchResults/SearchSourceResultsHeader.mjs 148 B
dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs 390 B
dist/es/components/Search/SearchSourceResultsContext.mjs 344 B
dist/es/components/SkipNavigation/SkipNavigation.mjs 1.01 kB
dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs 1.52 kB
dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs 799 B
dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs 685 B
dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs 480 B
dist/es/components/TextareaComposer/SuggestionList/EmoticonItem.mjs 508 B
dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs 632 B
dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionItem.mjs 439 B
dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionSuggestionTitle.mjs 236 B
dist/es/components/TextareaComposer/SuggestionList/MentionItem/mjs 775 B
dist/es/components/TextareaComposer/SuggestionList/MentionItem/SpecialMentionItem.mjs 161 B
dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.mjs 566 B
dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs 2.42 kB
dist/es/components/TextareaComposer/SuggestionList/SuggestionListItem.mjs 649 B
dist/es/components/TextareaComposer/SuggestionList/TokenizedSuggestionParts.mjs 608 B
dist/es/components/TextareaComposer/TextareaComposer.mjs 3.78 kB
dist/es/components/Thread/LegacyThreadContext.mjs 198 B
dist/es/components/Thread/ThreadHead.mjs 452 B
dist/es/components/Thread/ThreadHeader.mjs 1.48 kB
dist/es/components/Thread/ThreadStart.mjs 458 B
dist/es/components/Threads/ThreadContext.mjs 265 B
dist/es/components/Threads/ThreadList/ThreadList.mjs 1.63 kB
dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs 385 B
dist/es/components/Threads/ThreadList/ThreadListHeader.mjs 428 B
dist/es/components/Threads/ThreadList/ThreadListItem.mjs 351 B
dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs 1.87 kB
dist/es/components/Threads/ThreadList/ThreadListLoadingIndicator.mjs 441 B
dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs 661 B
dist/es/components/Threads/ThreadList/utils.a11y.mjs 1.83 kB
dist/es/components/Threads/UnreadCountBadge.mjs 332 B
dist/es/components/Tooltip/hooks/useEnterLeaveHandlers.mjs 296 B
dist/es/components/Tooltip/Tooltip.mjs 556 B
dist/es/components/TypingIndicator/hooks/useDebouncedTypingActive.mjs 974 B
dist/es/components/TypingIndicator/TypingIndicator.mjs 1.35 kB
dist/es/components/TypingIndicator/TypingIndicatorDots.mjs 411 B
dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs 946 B
dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs 442 B
dist/es/components/UtilityComponents/ErrorBoundary.mjs 313 B
dist/es/components/UtilityComponents/hooks/useMutationObserver.mjs 798 B
dist/es/components/UtilityComponents/useStableId.mjs 455 B
dist/es/components/VideoPlayer/ReactPlayerWrapper.mjs 475 B
dist/es/components/VideoPlayer/VideoPlayer.mjs 445 B
dist/es/components/VideoPlayer/VideoThumbnail.mjs 556 B
dist/es/components/VisuallyHidden/VisuallyHidden.mjs 397 B
dist/es/constants/messageTypes.mjs 173 B
dist/es/context/AttachmentContext.mjs 344 B
dist/es/context/AttachmentSelectorContext.mjs 272 B
dist/es/context/ChannelInstanceContext.mjs 385 B
dist/es/context/ChannelListContext.mjs 369 B
dist/es/context/ChatContext.mjs 282 B
dist/es/context/ComponentContext.mjs 257 B
dist/es/context/DialogManagerContext.mjs 1.42 kB
dist/es/context/MessageBounceContext.mjs 712 B
dist/es/context/MessageComposerContext.mjs 408 B
dist/es/context/MessageContext.mjs 285 B
dist/es/context/MessageListContext.mjs 325 B
dist/es/context/MessageTranslationViewContext.mjs 1.53 kB
dist/es/context/ModalContext.mjs 403 B
dist/es/context/PollContext.mjs 300 B
dist/es/context/requireContext.mjs 440 B
dist/es/context/TranslationContext.mjs 425 B
dist/es/context/useChannel.mjs 333 B
dist/es/context/VirtualizedMessageListContext.mjs 338 B
dist/es/context/WithComponents.mjs 311 B
dist/es/context/WorkspaceNavigationContext.mjs 492 B
dist/es/emojis.mjs 126 B
dist/es/hooks/useIsDmChannel.mjs 503 B
dist/es/hooks/useMessagePaginator.mjs 275 B
dist/es/i18n/runtimeDefaults.mjs 1.1 kB
dist/es/i18n/Streami18n.mjs 1.01 kB
dist/es/i18n/TranslationBuilder/index.mjs 122 B
dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs 563 B
dist/es/i18n/TranslationBuilder/notifications/translators.mjs 669 B
dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs 1.19 kB
dist/es/i18n/useStreami18n.mjs 708 B
dist/es/i18n/utils.mjs 466 B
dist/es/index.mjs 8.24 kB
dist/es/mp3-encoder.mjs 778 B
dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs 726 B
dist/es/plugins/ChannelDetail/ChannelDetail.mjs 920 B
dist/es/plugins/ChannelDetail/ChannelDetailContext.mjs 373 B
dist/es/plugins/ChannelDetail/ChannelDetailEmptyList.mjs 307 B
dist/es/plugins/ChannelDetail/ChannelDetailListLoadingIndicator.mjs 419 B
dist/es/plugins/ChannelDetail/ChannelDetailNavButton.mjs 505 B
dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs 574 B
dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigator.mjs 1.79 kB
dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs 831 B
dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs 455 B
dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs 1.5 kB
dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs 1.22 kB
dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs 723 B
dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.mjs 3.91 kB
dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs 3.67 kB
dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs 471 B
dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs 2.33 kB
dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs 726 B
dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs 720 B
dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.mjs 3.47 kB
dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs 1.08 kB
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs 2.3 kB
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs 1.65 kB
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.mjs 1.65 kB
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs 1.31 kB
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs 369 B
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberCount.mjs 408 B
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberIds.mjs 430 B
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMembersSearch.mjs 744 B
dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs 466 B
dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs 1.85 kB
dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs 404 B
dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs 879 B
dist/es/plugins/ChannelDetail/VirtualizedList/VirtualizedList.mjs 670 B
dist/es/plugins/Emojis/EmojiPicker.mjs 1.3 kB
dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs 1.38 kB
dist/es/plugins/SlotGeometry/SlotGeometry.mjs 2.26 kB
dist/es/plugins/SlotLayout/a11y.utility.mjs 295 B
dist/es/plugins/SlotLayout/ChannelSlot.mjs 569 B
dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs 2.4 kB
dist/es/plugins/SlotLayout/hooks/useLayoutViewState.mjs 470 B
dist/es/plugins/SlotLayout/hooks/useSlotEntity.mjs 1.84 kB
dist/es/plugins/SlotLayout/layout/Slot.mjs 725 B
dist/es/plugins/SlotLayout/layout/WorkspaceLayout.mjs 394 B
dist/es/plugins/SlotLayout/layoutController/LayoutController.mjs 2.96 kB
dist/es/plugins/SlotLayout/layoutController/serialization.mjs 805 B
dist/es/plugins/SlotLayout/mjs 3.65 kB
dist/es/plugins/SlotLayout/slotBinding.mjs 331 B
dist/es/plugins/SlotLayout/slotRegistry.mjs 1.09 kB
dist/es/plugins/SlotLayout/ThreadListSlot.mjs 680 B
dist/es/plugins/SlotLayout/ThreadSlot.mjs 506 B
dist/es/plugins/SlotLayout/ThreadSlotContext.mjs 190 B
dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs 1.28 kB
dist/es/slot-layout.mjs 499 B
dist/es/slot-mjs 125 B
dist/es/store/hooks/useStateStore.mjs 484 B
dist/es/utils/findReverse.mjs 188 B
dist/es/utils/getChannel.mjs 720 B
dist/es/utils/getTextareaCaretRect.mjs 856 B
dist/es/utils/getWholeChar.mjs 368 B
dist/es/utils/isDmChannel.mjs 247 B
dist/es/utils/mergeDeep.mjs 197 B
dist/es/utils/useStableCallback.mjs 831 B

compressed-size-action

@codecov

codecov Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (release-v15@088c795). Learn more about missing BASE report.

Additional details and impacted files
@@              Coverage Diff               @@
##             release-v15    #3287   +/-   ##
==============================================
  Coverage               ?   84.93%           
==============================================
  Files                  ?      521           
  Lines                  ?    15338           
  Branches               ?     4894           
==============================================
  Hits                   ?    13027           
  Misses                 ?     2311           
  Partials               ?        0           

☔ View full report in Codecov by Harness.
📢 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.

@MartinCupela
MartinCupela merged commit 68999a7 into release-v15 Sep 14, 2026
10 checks passed
@MartinCupela
MartinCupela deleted the refactor/drop-concurrent-audio-playback branch September 14, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant