Skip to content

feat: use configuration service API as a single source of truth - #3273

Open
MartinCupela wants to merge 13 commits into
release-v15from
feat/llc-instance-configuration
Open

feat: use configuration service API as a single source of truth#3273
MartinCupela wants to merge 13 commits into
release-v15from
feat/llc-instance-configuration

Conversation

@MartinCupela

@MartinCupela MartinCupela commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

1. What changes with the new configuration API

The client combines each server flag with whatever is registered through client.config, and that
combined value is what it enforces. Components were reading only the server's half, so a menu could
offer an action the composer had already disabled.

Components read resolved configuration

useChannelConfig returns the channel's resolved configuration rather than the channel type's
raw server config, so field names change with it:

channelConfig?.typing_events            channelConfig?.typingEvents.enabled
channelConfig?.read_events              channelConfig?.readEvents.enabled
channelConfig?.replies                  channelConfig?.replies.enabled
channelConfig?.user_message_reminders   channelConfig?.userMessageReminders.enabled
channelConfig?.commands                 channelConfig?.availableCommands

useAttachmentManagerState gained the composer-resolved gates — attachmentsEnabled,
locationEnabled, pollsEnabled, customCdn — which let AttachmentSelector drop a duplicate
selector of its own.

Both hooks subscribe to the configuration. These values are getters on the LLC instances, so
nothing re-rendered when they changed; a client.config.set() did not reach the screen. useMarkRead
moved from channel.getConfig()?.read_events to the resolved readEvents.enabled for the same
reason — a plain method call sits outside React's dependency graph and cannot re-run.

After this, no component reads channel.serverConfig.

Request handlers register once on the client

doSendMessageRequest, doUpdateMessageRequest, doDeleteMessageRequest and doMarkReadRequest
are removed from Channel and Thread, along with useChannelRequestHandlers,
useThreadRequestHandlers, useEditMessageHandler, and the ownership coordinator behind them.

The props and client.config wrote to the same slot, so the SDK carried a coordinator that tracked
which mounted component owned each handler, restored the previous owner on unmount, and re-applied
everything whenever the LLC re-derived. All of that existed to reconcile two ways of doing one thing.

Example app

examples/vite gains a Configuration tab: the resolved tree per scope, inline editors, a
reference of every configurable path, and a view of what is registered versus what resolved. It was
the main tool for exercising this end to end.

2. Other changes introduced here (not already in release-v15)

Unified channel.state

release-v15 still reads the per-domain stores (ownCapabilitiesStore, membersStore,
watcherStore, readStore). The client replaced them with a single StateStore<ChannelStateData>,
so every consumer here moves to one selector over channel.state: useChannelCapabilities,
useIsDmChannel, useChannelHasMembersOnline, useChannelHeaderOnlineStatus,
VirtualizedMessageList, TypingIndicator, ChannelHeader.

useIsChannelMuted and useAIState become thin readers of reactive slices — dropping their own
client.on(...) / channel.on(...) subscriptions and, for the AI indicator, gaining the
connection-loss reset the client now owns.

Channel lifecycle and reconnect

<Channel> marks its channel active while mounted (channel.activate() / deactivate(),
refcounted) and calls channel.reload() on connection.recovered.

These go together. The client deliberately skips re-seeding an active channel's message list on
channel-list hydration and reconnect, so its smaller page cannot perturb a larger scrolled-back
window — and it hands that window to the consumer. Nothing else calls reload(), so without this the
list silently stays as it was while offline, and hard deletes made meanwhile are never reconciled
(they reach other clients via no event; only a re-query surfaces them).

Smaller fixes

  • useLiveLocationSharingManager disposes the manager on unmount.
  • StreamedMessageText unsubscribes from ai_indicator.stop; it previously leaked a listener on
    every effect run and on unmount.
  • Dead code removed: Channel/utils.ts (findInMsgSetById / findInMsgSetByDate, helpers for a
    jumpToFirstUnreadMessage that exists in neither repo; not publicly exported).
  • src/styling/dark.scss additions.

Testing

mock-builders/generator/channelState.tschannel.state is a StateStore now, so a plain-object
mock crashes with getLatestValue is not a function. This builds a real store plus the convenience
getters the real ChannelState exposes.

PollCreationDialog/__tests__/validationErrors.test.tsx — asserts each poll validation code renders
its own translated copy. Its t returns a marker rather than the English default, because a test
that asserts English copy cannot tell translated output from the client's raw message.

Documentation

ai-docs/ai-migration-v14-v15.md gains a Channel state moves to a single reactive store section
covering the *Store removal, the AIStates import move, disconnectedpendingDisposal, the
activate()/reload obligation, and the test-mock changes. The configuration sections also get the
top-level heading they were missing.

Dependency

stream-chat moves from 10.0.0-rc.6 to 10.0.0-rc.7 (peer and dev), matching the examples.
The channel-state APIs above do not exist in rc.6.

3. Breaking changes not already in release-v15

For commit descriptions. Integrator-facing detail in ai-docs/ai-migration-v14-v15.md.

The moderation/upload/SortParamRequest/poll-validation-code ports and the VotingVisibility
change are already on release-v15 (ccccce5e4) and are deliberately not repeated here.

BREAKING CHANGE: request-handler props are removed from Channel and Thread.
doSendMessageRequest, doUpdateMessageRequest, doDeleteMessageRequest and
doMarkReadRequest are gone, along with useChannelRequestHandlers,
useThreadRequestHandlers and useEditMessageHandler. Register once on the client:

  // v14
  <Channel channel={channel} doSendMessageRequest={mySend}>

  // v15
  client.config.set({
    channel: {
      requestHandlers: {
        sendMessageRequest: async ({ localMessage, message, options }) => ({
          message: await mySend(message, options),
        }),
      },
    },
  });

Three differences: handlers take a single params object and return { message }; thread
flows register under the thread key; and registration is per CLIENT, not per mounted
subtree — the one thing the props could do that this cannot. Per-channel behaviour now
needs a branch inside one handler on the cid it receives.

BREAKING CHANGE: useChannelConfig returns the channel's RESOLVED configuration instead
of the channel type's raw server config, so field names change:

channelConfig?.typing_events → channelConfig?.typingEvents.enabled
channelConfig?.read_events → channelConfig?.readEvents.enabled
channelConfig?.replies → channelConfig?.replies.enabled
channelConfig?.user_message_reminders → channelConfig?.userMessageReminders.enabled
channelConfig?.commands → channelConfig?.availableCommands

Every gate is now the server flag ANDed with what is registered through client.config,
which is what the client actually enforces. The hook also subscribes: these were getters,
so a client.config.set() previously never reached the screen. No component reads
channel.serverConfig any more.

BREAKING CHANGE: useAttachmentManagerState replaces hasCustomDoUploadRequest with
customCdn, and gains attachmentsEnabled, locationEnabled and pollsEnabled.

BREAKING CHANGE: the per-domain stores on channel.state are removed — readStore,
typingStore, membersStore, watcherStore, ownCapabilitiesStore, mutedUsersStore.
Subscribe to channel.state itself; the selector is unchanged, because ChannelStateData
is flat and keeps the same top-level keys:

useStateStore(channel.state.ownCapabilitiesStore, sel) → useStateStore(channel.state, sel)

WatcherState is renamed ChannelWatchState, and channel.disconnected is renamed
channel.pendingDisposal (removed outright — no deprecated alias).

BREAKING CHANGE: AIStates is no longer exported from stream-chat-react — import it
from stream-chat. The values are unchanged, but it is now literal-typed, so an inferred
array of its members no longer accepts the wide AIState:

const STOPPABLE: readonly AIState[] = [AIStates.Thinking, AIStates.Generating];

BREAKING CHANGE: <Channel> marks its channel active while mounted and reloads it on
connection.recovered. The client skips re-seeding an active channel's message list on
hydration and reconnect, so the consumer owns that window. A custom channel surface that
does not render <Channel> must call channel.activate() / deactivate() and
channel.reload() itself, or its list goes stale after a reconnect.

Note for tests (not a consumer break, but it will affect integrator suites):

  • channel.getConfig() is now the channel.serverConfig getter, so vi.spyOn(channel, 'getConfig')
    has no equivalent — set the channel type's config on client.channelServerConfigs, which also
    drives the derivation so channel.config is correct.
  • vi.spyOn(channel, 'muteStatus') → seed channel.state.partialNext({ muteStatus }).
  • channel.disconnected = truechannel.pendingDisposal = true.
  • A plain-object channel.state mock now crashes — use a real StateStore.

# Conflicts:
#	examples/tutorial/src/3-channel-list/App.tsx
#	examples/tutorial/src/7-livestream/App.tsx
#	examples/vite/src/App.tsx
#	examples/vite/src/ChatLayout/SwitchableChannelNavigation.tsx
#	examples/vite/src/SingleChannel/SingleChannelApp.tsx
#	src/components/ChannelList/ChannelList.tsx
#	src/components/Chat/Chat.tsx
#	src/context/ChatContext.tsx
# Conflicts:
#	ai-docs/ai-migration-v14-v15.md
#	examples/vite/src/AppSettings/tabs/General/GeneralTab.tsx
#	src/components/Channel/hooks/useChannelConfig.ts
#	src/components/Thread/ThreadHeader.tsx
@coderabbitai

coderabbitai Bot commented Aug 18, 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: Pro Plus

Run ID: 5f3f5e07-5201-4ff0-9bb5-f976c503e916

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.

@MartinCupela
MartinCupela had a problem deploying to Vite Example Development (Preview) August 24, 2026 14:33 — with GitHub Actions Error
@MartinCupela
MartinCupela had a problem deploying to Vite Example Public (Preview) August 24, 2026 14:33 — with GitHub Actions Failure
@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown

Size Change: -4.05 kB (-0.49%)

Total Size: 821 kB

📦 View Changed
Filename Size Change
dist/cjs/index.js 6.06 kB -18 B (-0.3%)
dist/cjs/SlotLayout.js 13.1 kB +2 B (+0.02%)
dist/cjs/src.js 222 kB -1.22 kB (-0.54%)
dist/cjs/useChannel.js 24.2 kB -1 B (0%)
dist/css/index.css 42.4 kB +772 B (+1.85%)
dist/es/components/AIStateIndicator/AIStateIndicator.mjs 475 B +4 B (+0.85%)
dist/es/components/AIStateIndicator/hooks/useAIState.mjs 444 B -172 B (-27.92%) 🎉
dist/es/components/Attachment/Attachment.mjs 1.15 kB +1 B (+0.09%)
dist/es/components/Channel/Channel.mjs 2.38 kB -230 B (-8.82%)
dist/es/components/Channel/hooks/useChannelCapabilities.mjs 350 B -5 B (-1.41%)
dist/es/components/Channel/hooks/useChannelConfig.mjs 725 B +424 B (+140.86%) 🆘
dist/es/components/Channel/hooks/useChannelRequestHandlers.mjs 0 B -615 B (removed) 🏆
dist/es/components/Channel/hooks/useEditMessageHandler.mjs 0 B -359 B (removed) 🏆
dist/es/components/ChannelHeader/ChannelHeader.mjs 1.02 kB +5 B (+0.49%)
dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs 624 B -6 B (-0.95%)
dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs 681 B -9 B (-1.3%)
dist/es/components/ChannelList/ChannelList.mjs 1.19 kB +1 B (+0.08%)
dist/es/components/ChannelListItem/ChannelListItem.mjs 1.23 kB +2 B (+0.16%)
dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs 1.07 kB -1.53 kB (-58.71%) 🏆
dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs 399 B -269 B (-40.27%) 🎉
dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs 654 B -1 B (-0.15%)
dist/es/components/Chat/Chat.mjs 1.23 kB +5 B (+0.41%)
dist/es/components/Chat/hooks/useChat.mjs 605 B -4 B (-0.66%)
dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs 640 B +9 B (+1.43%)
dist/es/components/Message/hooks/useMessageReminder.mjs 299 B -1 B (-0.33%)
dist/es/components/Message/MessageRepliesCountButton.mjs 1.08 kB -2 B (-0.19%)
dist/es/components/Message/StreamedMessageText.mjs 500 B +26 B (+5.49%) 🔍
dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs 1.8 kB -1 B (-0.06%)
dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs 919 B +1 B (+0.11%)
dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs 545 B -1 B (-0.18%)
dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs 3.31 kB +18 B (+0.55%)
dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs 542 B +137 B (+33.83%) 🚨
dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs 403 B +3 B (+0.75%)
dist/es/components/MessageComposer/MessageComposerActions.mjs 1.41 kB +29 B (+2.1%)
dist/es/components/MessageComposer/MessageComposerUI.mjs 1.43 kB -1 B (-0.07%)
dist/es/components/MessageList/hooks/useMarkRead.mjs 1.27 kB +60 B (+4.98%) 🔍
dist/es/components/MessageList/MessageList.mjs 3.3 kB -39 B (-1.17%)
dist/es/components/MessageList/ScrollToLatestMessageButton.mjs 1.17 kB -3 B (-0.26%)
dist/es/components/MessageList/UnreadMessagesNotification.mjs 850 B -2 B (-0.23%)
dist/es/components/MessageList/VirtualizedMessageList.mjs 4.28 kB -5 B (-0.12%)
dist/es/components/Notifications/hooks/useNotificationApi.mjs 1.26 kB -1 B (-0.08%)
dist/es/components/Notifications/hooks/useSystemNotifications.mjs 457 B -1 B (-0.22%)
dist/es/components/Notifications/Notification.mjs 1.23 kB +1 B (+0.08%)
dist/es/components/Poll/PollActions/PollActions.mjs 1.37 kB -2 B (-0.15%)
dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs 1.31 kB -1 B (-0.08%)
dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs 1.44 kB +2 B (+0.14%)
dist/es/components/Poll/PollCreationDialog/NameField.mjs 761 B +1 B (+0.13%)
dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs 2.35 kB -1 B (-0.04%)
dist/es/components/Poll/PollOptionList.mjs 845 B -1 B (-0.12%)
dist/es/components/Search/Search.mjs 642 B -1 B (-0.16%)
dist/es/components/Search/SearchResults/SearchResultItem.mjs 1.32 kB +1 B (+0.08%)
dist/es/components/Search/SearchResults/SearchSourceResults.mjs 561 B -1 B (-0.18%)
dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs 2.42 kB +2 B (+0.08%)
dist/es/components/Thread/hooks/useThreadRequestHandlers.mjs 0 B -949 B (removed) 🏆
dist/es/components/Thread/Thread.mjs 1.5 kB -77 B (-4.88%)
dist/es/components/Thread/ThreadHeader.mjs 1.48 kB +3 B (+0.2%)
dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs 1.84 kB -6 B (-0.33%)
dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs 661 B -2 B (-0.3%)
dist/es/components/TypingIndicator/TypingIndicator.mjs 1.36 kB +2 B (+0.15%)
dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs 950 B +16 B (+1.71%)
dist/es/context/DialogManagerContext.mjs 1.41 kB +1 B (+0.07%)
dist/es/hooks/useIsDmChannel.mjs 503 B -7 B (-1.37%)
dist/es/index.mjs 8.25 kB -38 B (-0.46%)
dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs 723 B -3 B (-0.41%)
dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.mjs 3.91 kB +1 B (+0.03%)
dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs 720 B -3 B (-0.41%)
dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs 879 B -2 B (-0.23%)
dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs 2.4 kB +1 B (+0.04%)
dist/es/plugins/SlotLayout/mjs 3.65 kB +4 B (+0.11%)
dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs 1.28 kB +2 B (+0.16%)
ℹ️ View Unchanged
Filename Size
dist/cjs/audioProcessing.js 1.74 kB
dist/cjs/channel-detail.js 24.3 kB
dist/cjs/emojis.js 2.54 kB
dist/cjs/mp3-encoder.js 814 B
dist/cjs/ReactPlayerWrapper.js 540 B
dist/cjs/slot-js 2.32 kB
dist/cjs/slot-layout.js 519 B
dist/css/channel-detail.css 2.84 kB
dist/css/emoji-picker.css 178 B
dist/css/emoji-replacement.css 456 B
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/Attachment/attachment-sizing.mjs 1.05 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.14 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.05 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/AudioPlayer.mjs 3.85 kB
dist/es/components/AudioPlayback/AudioPlayerPool.mjs 1.31 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/AudioPlayback/WithAudioPlayback.mjs 1 kB
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/constants.mjs 156 B
dist/es/components/Channel/hooks/useChannelContainerClasses.mjs 388 B
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/ChannelListItemTimestamp.mjs 503 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/useIsUserMuted.mjs 271 B
dist/es/components/ChannelListItem/utils.a11y.mjs 2.62 kB
dist/es/components/ChannelListItem/utils.mjs 2.76 kB
dist/es/components/Chat/hooks/useCreateChatClient.mjs 526 B
dist/es/components/Chat/hooks/useCreateChatContext.mjs 462 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 591 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/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/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 610 B
dist/es/components/Message/hooks/useReactionHandler.mjs 1.34 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.66 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 700 B
dist/es/components/Message/MessageStatus.mjs 1.26 kB
dist/es/components/Message/MessageText.mjs 1.63 kB
dist/es/components/Message/MessageTimestamp.mjs 356 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 976 B
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/Timestamp.mjs 525 B
dist/es/components/Message/utils.mjs 2.59 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.26 kB
dist/es/components/MessageActions/MessageActions.mjs 4.22 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/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/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/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/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/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/VirtualizedMessageList/useFloatingDateSeparator.mjs 955 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 827 B
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/UnreadMessagesSeparator.mjs 744 B
dist/es/components/MessageList/utils.mjs 2.22 kB
dist/es/components/MessageList/VirtualizedMessageListComponents.mjs 1.65 kB
dist/es/components/Modal/GlobalModal.mjs 1.81 kB
dist/es/components/Notifications/hooks/useNotifications.mjs 569 B
dist/es/components/Notifications/hooks/useNotificationTarget.mjs 410 B
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 890 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/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/PollContent.mjs 489 B
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/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.23 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/useSearchFocusedMessage.mjs 291 B
dist/es/components/Search/hooks/useSearchQueriesInProgress.mjs 450 B
dist/es/components/Search/hooks/useSearchResultsKeyboardNavigation.mjs 721 B
dist/es/components/Search/SearchBar/SearchBar.mjs 1.34 kB
dist/es/components/Search/SearchContext.mjs 331 B
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/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/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 404 B
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/ThreadListLoadingIndicator.mjs 441 B
dist/es/components/Threads/ThreadList/utils.a11y.mjs 1.81 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/TypingIndicatorDots.mjs 411 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/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 441 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/useMessagePaginator.mjs 275 B
dist/es/i18n/runtimeDefaults.mjs 1.1 kB
dist/es/i18n/Streami18n.mjs 1 kB
dist/es/i18n/TranslationBuilder/index.mjs 123 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 798 B
dist/es/i18n/utils.mjs 466 B
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.1 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 705 B
dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.mjs 3.47 kB
dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs 1.05 kB
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs 2.3 kB
dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs 1.62 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.73 kB
dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs 404 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/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.95 kB
dist/es/plugins/SlotLayout/layoutController/serialization.mjs 805 B
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/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 Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.84615% with 4 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (release-v15@ccccce5). Learn more about missing BASE report.

Files with missing lines Patch % Lines
src/components/Message/StreamedMessageText.tsx 0.00% 2 Missing ⚠️
...c/components/AIStateIndicator/AIStateIndicator.tsx 0.00% 1 Missing ⚠️
...mponents/TypingIndicator/TypingIndicatorHeader.tsx 0.00% 1 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff               @@
##             release-v15    #3273   +/-   ##
==============================================
  Coverage               ?   84.80%           
==============================================
  Files                  ?      521           
  Lines                  ?    15442           
  Branches               ?     4934           
==============================================
  Hits                   ?    13096           
  Misses                 ?     2346           
  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.

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