Skip to content

Commit b5cb01f

Browse files
authored
docs: track react v14 avatar overflow follow-up (#3093)
### 🎯 Goal Track the latest React v14 avatar follow-up from `master` so the internal migration inventory and docs execution plan stay aligned with the public docs. ### 🛠 Implementation details - bump the audited SDK head to `6c7cd42a` - expand `BC-018` with the current automatic-overflow avatar behavior and evidence - record the rest of the commit window as ruled out - reopen and then close the exact avatar docs fallout in `docs-plan.md` ### 🎨 UI Changes No screenshots. Tracker-only change. ### ✅ Validation - `git diff --check -- ai-docs/breaking-changes.md ai-docs/docs-plan.md`
1 parent 982cf2a commit b5cb01f

File tree

2 files changed

+132
-136
lines changed

2 files changed

+132
-136
lines changed

ai-docs/breaking-changes.md

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# React v14 Breaking Changes
22

3-
Last updated: 2026-03-31
3+
Last updated: 2026-04-03
44

55
## Scope
66

@@ -13,8 +13,8 @@ This file tracks confirmed v13 to v14 breaking changes for `stream-chat-react`.
1313
## Audit Reference
1414

1515
- Baseline tag: `v13.14.2`
16-
- Current audited SDK head: `241209e8059ce767fe5bc3500466aa73f53618e3` (`241209e8`, `2026-03-31`, `fix: use link icon for link-type attachments (#3083)`)
17-
- Future mining starting point: diff `241209e8059ce767fe5bc3500466aa73f53618e3..HEAD` first, then compare any newly confirmed changes back to the original v13 baseline before adding them here
16+
- Current audited SDK head: `6c7cd42afffb6d341b7a3b4bf5cc5a9bcd3f98ee` (`6c7cd42a`, `2026-04-03`, `fix(examples): enable async voice recording preview in thread composer (#3092)`)
17+
- Future mining starting point: diff `6c7cd42afffb6d341b7a3b4bf5cc5a9bcd3f98ee..HEAD` first, then compare any newly confirmed changes back to the original v13 baseline before adding them here
1818

1919
Only confirmed items should move from this file into the migration guide.
2020

@@ -647,9 +647,9 @@ Only confirmed items should move from this file into the migration guide.
647647
- `v13.14.2:src/components/ChannelPreview/hooks/useChannelPreviewInfo.ts:46` returned `groupChannelDisplayInfo` as the nullable result of `getGroupChannelDisplayInfo(channel)`
648648
- New API:
649649
- `src/components/Avatar/Avatar.tsx:10` `AvatarProps` now expose `imageUrl`, `userName`, `isOnline`, and required `size`
650-
- `src/components/Avatar/ChannelAvatar.tsx:7` `ChannelAvatarProps` now expose `displayMembers`, `overflowCount`, and required `size`
651-
- `src/components/Avatar/GroupAvatar.tsx:10` `GroupAvatarProps` now expose `displayMembers`, `overflowCount`, `size`, and `isOnline`
652-
- `src/components/ChannelListItem/utils.tsx:116` types `GroupChannelDisplayInfo` as `{ members, overflowCount }`
650+
- `src/components/Avatar/ChannelAvatar.tsx:6` `ChannelAvatarProps` are now `Partial<Omit<GroupAvatarProps & AvatarProps, 'size'>> & { size: GroupAvatarProps['size'] | AvatarProps['size'] }`
651+
- `src/components/Avatar/GroupAvatar.tsx:12` `GroupAvatarProps` now expose `displayMembers`, `size`, and `isOnline`
652+
- `src/components/ChannelListItem/utils.tsx:139` through `:149` now return `{ members }` from `getGroupChannelDisplayInfo(channel)`
653653
- `src/components/ChannelListItem/utils.tsx:125` exports `getChannelDisplayImage`
654654
- `src/components/ChannelListItem/hooks/index.ts:1` exports `useChannelDisplayName`
655655
- `src/components/ChannelListItem/hooks/useChannelDisplayName.ts:8` through `:10` synthesize DM labels and group titles from up to two member names
@@ -658,14 +658,12 @@ Only confirmed items should move from this file into the migration guide.
658658
- Replacement:
659659
- rename avatar props from `image` / `name` to `imageUrl` / `userName`
660660
- supply the new required `size` prop when rendering SDK avatars directly
661-
- migrate group avatar data from `groupChannelDisplayInfo` to `displayMembers` plus optional `overflowCount`
661+
- migrate group avatar data from `groupChannelDisplayInfo` to `displayMembers`
662662
- replace `getDisplayImage` with `getChannelDisplayImage`
663663
- replace `getDisplayTitle` with `useChannelDisplayName()` or `useChannelPreviewInfo()`, depending on whether the caller is already inside React
664664
- update any `useChannelPreviewInfo()` checks that previously depended on `groupChannelDisplayInfo` being `null` or `undefined`
665665
- if you need the old DM-image fallback in custom preview code, prefer `getChannelDisplayImage(channel)` over `channel.getDisplayImage()`
666666
- Evidence:
667-
- current `ChannelHeader` passes `displayMembers`, `imageUrl`, `overflowCount`, `size`, and `userName` into `ChannelAvatar`
668-
- current `GroupAvatar` renders a `+N` badge from `overflowCount` instead of the old three-part/four-part array-only logic
669667
- current package exports no `getDisplayTitle` or `getDisplayImage`
670668
- current `useChannelPreviewInfo()` normalizes empty/non-group state to `{ members: [], overflowCount: undefined }`
671669
- current `useChannelDisplayName()` adds synthesized DM/group title behavior that did not exist in the old helper pair
@@ -675,6 +673,7 @@ Only confirmed items should move from this file into the migration guide.
675673
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/08-message/08-avatar.md`
676674
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/05-channel-list/04-channel_preview_ui.md`
677675
- `docs/data/docs/chat-sdk/react/v14/03-ui-cookbook/02-channel-list/01-channel_list_preview.md`
676+
- `docs/data/docs/chat-sdk/react/v14/03-ui-cookbook/09-channel_header.md`
678677
- `docs/data/docs/chat-sdk/react/v14/03-ui-cookbook/10-thread_header.md`
679678
- `docs/data/docs/chat-sdk/react/v14/03-ui-cookbook/05-message-input/06-suggestion_list.md`
680679
- `docs/data/docs/chat-sdk/react/v14/03-ui-cookbook/04-message/06-system_message.md`
@@ -810,8 +809,6 @@ Only confirmed items should move from this file into the migration guide.
810809
- User impact:
811810
- imports using the removed helper utilities or standalone status/input icons no longer compile
812811
- low-level customization patterns built on those exports need to move to the new `Icons` set, newer helper names, or higher-level components
813-
- imports using the older pre-Phosphor icon constant names no longer compile
814-
- custom CSS and snapshots that targeted icon-specific auto classes can break after the icon-catalog refresh
815812
- Confirmed removed exports:
816813
- `ActionsIcon`
817814
- `CloseIcon`
@@ -829,20 +826,6 @@ Only confirmed items should move from this file into the migration guide.
829826
- `ThreadIcon`
830827
- `MessageErrorIcon`
831828
- `attachmentTypeIconMap`
832-
- Confirmed renamed exports:
833-
- `IconTrashBin` -> `IconDelete`
834-
- `IconPaperPlane` -> `IconSend`
835-
- `IconCrossMedium` -> `IconXmark`
836-
- `IconMicrophone` -> `IconVoice`
837-
- `IconBookmark` -> `IconSave`
838-
- `IconBubbles` -> `IconMessageBubbles`
839-
- `IconBubble2ChatMessage` -> `IconMessageBubble`
840-
- `IconBubbleText6ChatMessage` -> `IconThread`
841-
- `IconLoadingCircle` -> `IconLoading`
842-
- `IconPlaySolid` -> `IconPlayFill`
843-
- `IconPause` -> `IconPauseFill`
844-
- `IconLayoutAlignLeft` -> `IconSidebar`
845-
- `IconThunder` -> `IconBolt`
846829
- Old API evidence:
847830
- `v13.14.2:src/components/Message/icons.tsx:7` exported `ActionsIcon`
848831
- `v13.14.2:src/components/MessageInput/icons.tsx:67` exported `CloseIcon`
@@ -855,25 +838,21 @@ Only confirmed items should move from this file into the migration guide.
855838
- `v13.14.2:src/components/Message/icons.tsx:77` and `:92` exported `MessageSentIcon` and `MessageDeliveredIcon`
856839
- `v13.14.2:src/components/Message/icons.tsx:108` exported `MessageErrorIcon`
857840
- `v13.14.2:src/components/Threads/ThreadList/ThreadListItemUI.tsx:25` exported `attachmentTypeIconMap`
858-
- `f06846da:src/components/Icons/icons.tsx` still exported the older icon constant names such as `IconCrossMedium`, `IconPaperPlane`, `IconLayoutAlignLeft`, and `IconThunder`
859841
- New API evidence:
860842
- `src/components/Message/utils.tsx:431` exports `countEmojis`
861843
- `src/components/Message/utils.tsx:436` exports `messageTextHasEmojisOnly`
862844
- `src/components/index.ts:21` exports the shared `Icons` set
863-
- `src/components/Icons/icons.tsx:408`, `:577`, `:626`, `:651`, `:831`, and `:849` now export `IconXmark`, `IconSidebar`, `IconVoice`, `IconSend`, `IconBolt`, and `IconDelete`
864845
- `src/components/Message/MessageStatus.tsx:122` and `:138` render `IconCheckmark1Small` and `IconDoubleCheckmark1Small`
865846
- `src/components/Threads/ThreadList/ThreadListItemUI.tsx:14` now builds thread previews around `SummarizedMessagePreview`
866847
- Replacement:
867848
- move emoji-only checks to `countEmojis()` / `messageTextHasEmojisOnly()`
868849
- stop relying on `showMessageActionsBox()` / `shouldRenderMessageActions()` and instead customize the new `MessageActions` action-set flow
869850
- replace direct icon imports with the public `Icons` components or with higher-level components like `MessageStatus`, `SendButton`, `MessageActions`, and thread preview components
870-
- rename direct imports that still use the pre-Phosphor icon names
871851
- if you used `attachmentTypeIconMap`, inline your own map or switch to the new thread preview components
872852
- Evidence:
873853
- current `MessageComposer/index.ts` and `Message/index.ts` still re-export their `icons.tsx` files, but the removed icon symbols are no longer present there
874854
- current `MessageStatus` and thread-list UIs rely on the shared icon library and new summary components instead of the old standalone exports
875-
- commit `30c1beeae feat(Icons): migrate SDK icons to Phosphor icon set (#3075)` renamed the remaining public icon constants and removed the unused icon catalog entries
876-
- commit `9472f7b35 fix(Icons): sync icon catalog with refreshed Line SVGs (#3080)` completed the `IconLayoutAlignLeft` -> `IconSidebar` and `IconThunder` -> `IconBolt` rename sweep
855+
- later icon-catalog renames such as `IconCrossMedium -> IconXmark` and `IconLayoutAlignLeft -> IconSidebar` are excluded from this bucket because they were not part of the `v13.14.2` public surface
877856
- Docs impact:
878857
- migration guide
879858
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/08-message/07-ui-components.md`
@@ -2059,6 +2038,10 @@ Only confirmed items should move from this file into the migration guide.
20592038
- audio/player, scrolling, and layout polish (`7914e516`, `91eba1b4`, `8d25ead3`, `55dd2e81`, `fdf0e155`, `221aa0d4`): investigated; these commits refine playback reset behavior, initial bottom-pinning, mobile-nav click detection, message-list width, reactions alignment, and voice-recording attachment layout, but they do not remove or rename a documented public API beyond the separately tracked `useChannelListContext()` signature cleanup.
20602039
- type-safety and stale-prop cleanup in tests (`277bc417`): investigated; this commit removes stale props from test fixtures and tightens mock typing, but it does not change the current public runtime API beyond what was already documented in earlier migration buckets.
20612040
- link-type attachment preview icon swap (`241209e8`): investigated; current summarized-preview and latest-message preview UIs now use the shared link icon for link attachments, but this is a visual/current-behavior adjustment rather than a removed or renamed public API.
2041+
- avatar overflow/internalization follow-up (`49d576e4`): investigated; `overflowCount` was introduced during the v14 redesign cycle and was not part of the v13 public surface, so it should not appear in v13-to-v14 migration guidance. Keep it as current-v14 docs maintenance only.
2042+
- icon catalog, RTL, dark-mode, and thread-voice-recording follow-up (`a4b1c2662`): investigated; current icon renames such as `IconCrossSmall -> IconXmarkSmall`, `IconExclamationTriangle -> IconExclamationTriangleFill`, and `IconEyeOpen -> IconEyeFill` are not part of the v13 public surface, and the RTL/dark-mode/thread voice-recording changes are current-behavior polish rather than a new migration bucket.
2043+
- styling cleanup (`3bbf121ff`): investigated; broad CSS cleanup and internal selector polish, but no new removed or renamed public API beyond the avatar/channel-list/theming buckets already tracked.
2044+
- example-only follow-ups (`623989574`, `2f060ae89`, `6c7cd42af`): investigated; these only update examples and docs scaffolding and do not add a new v13-to-v14 migration item.
20622045
- assorted UI/UX fixes (`6c06e043`, `a47981ff`, `3f093622`): investigated; Giphy editability, dialog layering, composer state restoration, centered headers, message-list width, and channel-list dialog-portal cleanup changed runtime behavior, but they did not introduce new removed exports or renamed public override surfaces beyond the separately tracked reactions and icon buckets.
20632046
- example-app refreshes (`86ada37e`, `887a326a`): investigated; these only update example apps and do not change the public SDK surface.
20642047

0 commit comments

Comments
 (0)