Skip to content

Commit 57e42f5

Browse files
committed
docs: track react v14 notifications and composer follow-up
1 parent 7893492 commit 57e42f5

File tree

2 files changed

+273
-139
lines changed

2 files changed

+273
-139
lines changed

ai-docs/breaking-changes.md

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

3-
Last updated: 2026-04-08
3+
Last updated: 2026-04-14
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: `dc16bb584675f48d5f67cf5d5d355ba012cf81d2` (`dc16bb584`, `2026-04-08`, `feat!: externalize sidebar toggle and remove navOpen state from the SDK (#3088)`)
17-
- Future mining starting point: diff `dc16bb584675f48d5f67cf5d5d355ba012cf81d2..HEAD` first, then compare any newly confirmed changes back to the original v13 baseline before adding them here
16+
- Current audited SDK head: `78934929a2b1b6d82f09736aada08c57c194d45e` (`78934929a`, `2026-04-14`, `chore(release): 14.0.0-beta.7 [skip ci]`)
17+
- Future mining starting point: diff `78934929a2b1b6d82f09736aada08c57c194d45e..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

@@ -2108,6 +2108,82 @@ Only confirmed items should move from this file into the migration guide.
21082108
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/04-channel/02-channel_header.md`
21092109
- Example needed: yes
21102110

2111+
### BC-061: `onlySenderCanEdit` was removed from the message and message-list surface
2112+
2113+
- Status: confirmed
2114+
- Area: message edit permissions
2115+
- User impact:
2116+
- `Message`, `MessageList`, and `VirtualizedMessageList` no longer accept `onlySenderCanEdit`
2117+
- code that previously forced sender-only editing despite `update-any-message` capability no longer compiles
2118+
- channels where moderators or admins have `update-any-message` will now expose edit affordances unless the app filters them out manually
2119+
- Old API:
2120+
- `v13.14.2:src/components/Message/types.ts:79` exposed `onlySenderCanEdit?: boolean`
2121+
- `v13.14.2:src/components/Message/Message.tsx:184` through `:199` accepted `onlySenderCanEdit` and forwarded it into `useUserRole(message, onlySenderCanEdit, disableQuotedMessages)`
2122+
- `v13.14.2:src/components/MessageList/MessageList.tsx:494` still drilled `onlySenderCanEdit` through the standard message-list surface
2123+
- New API:
2124+
- current `src/components/Message/types.ts` has no `onlySenderCanEdit`
2125+
- current `src/components/Message/Message.tsx:192` through `:206` no longer destructure the prop and call `useUserRole(message, disableQuotedMessages)`
2126+
- current `src/components/Message/hooks/useUserRole.ts:35` uses only channel capabilities plus `isMyMessage` to decide editability
2127+
- current `src/components/MessageList/MessageList.tsx` has no `onlySenderCanEdit` prop drilling
2128+
- Replacement:
2129+
- rely on channel capabilities for the default SDK editability model
2130+
- if your app still needs sender-only editing, filter the `edit` action out in a custom `messageActionSet` / `MessageActions`, or replace the relevant message UI affordance in app code
2131+
- Evidence:
2132+
- commit `759cadf48 feat!: remove onlySenderCanEdit prop from MessageProps (#3098)` explicitly removed the prop
2133+
- `git show v13.14.2:src/components/Message/types.ts` includes `onlySenderCanEdit`
2134+
- current source has no remaining public `onlySenderCanEdit` references
2135+
- Docs impact:
2136+
- migration guide
2137+
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/08-message/01-message.md`
2138+
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/07-message-list/01-message_list.md`
2139+
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/07-message-list/02-virtualized_list.md`
2140+
- Example needed: yes
2141+
2142+
### BC-062: legacy message-notification callback props and `ConnectionStatus` were removed
2143+
2144+
- Status: confirmed
2145+
- Area: notifications and message actions
2146+
- User impact:
2147+
- `Message`, `MessageList`, and `VirtualizedMessageList` no longer accept the old `get*Notification` callback props
2148+
- top-level imports using `ConnectionStatus` no longer resolve
2149+
- direct use of low-level message action handlers no longer produces SDK-managed success/error toasts by itself; call sites now own notification publishing
2150+
- Old API:
2151+
- `v13.14.2:src/components/Message/types.ts:39` through `:55` exposed:
2152+
- `getDeleteMessageErrorNotification`
2153+
- `getFetchReactionsErrorNotification`
2154+
- `getFlagMessageErrorNotification`
2155+
- `getFlagMessageSuccessNotification`
2156+
- `getMarkMessageUnreadErrorNotification`
2157+
- `getMarkMessageUnreadSuccessNotification`
2158+
- `getMuteUserErrorNotification`
2159+
- `getMuteUserSuccessNotification`
2160+
- `getPinMessageErrorNotification`
2161+
- `v13.14.2:src/components/MessageList/MessageList.tsx:207` through `:216` still drilled those callbacks into message rendering
2162+
- `v13.14.2:src/components/MessageList/index.ts:1` re-exported `ConnectionStatus`
2163+
- New API:
2164+
- current `src/components/Message/types.ts` has no `get*Notification` callbacks
2165+
- current `src/components/MessageList/MessageList.tsx` no longer drills those callbacks into messages
2166+
- current `src/components/MessageList/index.ts` no longer exports `ConnectionStatus`
2167+
- current `src/components/Notifications/hooks/useNotificationApi.ts` provides the app-facing notification wrapper
2168+
- current `src/components/Chat/index.ts:3` exports `useReportLostConnectionSystemNotification` for app-owned connection-status banners
2169+
- Replacement:
2170+
- customize default notification text through notification translators (`Streami18n` translation-builder topic `notification`) and/or custom `MessageActions`
2171+
- use `useNotificationApi()` when custom flows need to publish notifications explicitly
2172+
- replace `ConnectionStatus` usage with app-owned notification UI built on `NotificationList`, `NotificationListMainPanel`, and/or `useReportLostConnectionSystemNotification()`
2173+
- Evidence:
2174+
- commit `2060768b3 feat: add notification API wrapper (#3096)` explicitly removed the legacy callbacks and `ConnectionStatus`
2175+
- `git show v13.14.2:src/components/Message/types.ts` contains the old callback props
2176+
- `git show v13.14.2:src/components/MessageList/index.ts` contains the `ConnectionStatus` export
2177+
- current source keeps the replacement notification hooks while dropping the legacy prop/component shims
2178+
- Docs impact:
2179+
- migration guide
2180+
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/08-message/01-message.md`
2181+
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/07-message-list/01-message_list.md`
2182+
- `docs/data/docs/chat-sdk/react/v14/02-ui-components/07-message-list/02-virtualized_list.md`
2183+
- `docs/data/docs/chat-sdk/react/v14/04-guides/13-notifications.md`
2184+
- `docs/data/docs/chat-sdk/react/v14/03-ui-cookbook/03-message-list/02-connection_status.md`
2185+
- Example needed: yes
2186+
21112187
## Likely
21122188

21132189
- None yet
@@ -2141,6 +2217,11 @@ Only confirmed items should move from this file into the migration guide.
21412217
- audio playback wave/progress refinements (`982cf2a17`): investigated; smoother progress rendering and sizing updates do not remove or rename a documented public API.
21422218
- tracker/docs maintenance commit (`b5cb01f53`): investigated; this only updates the internal audit trackers and does not change the SDK surface.
21432219
- beta release commit (`d313317b0`): investigated; release tagging alone does not add a new migration item.
2220+
- upload-progress indicators and attachment preview size tracking (`8b13863a6`): investigated; current source adds `UploadProgressIndicator`, `UploadedSizeIndicator`, `AttachmentUploadedSizeIndicator`, and new `ComponentContext` slots (`FileSizeIndicator`, `ProgressIndicator`, `UploadedSizeIndicator`), but this is additive current-v14 surface area rather than a removed or renamed v13 API. Track it as docs-alignment work only.
2221+
- unsupported-attachment redesign and media badge additions (`9156f6f4a`, `19a0add66`, `e15caa4ef`): investigated; current source redesigns `UnsupportedAttachment`, adds `MediaBadge`, and updates preview styling, but it does not remove or rename a documented v13 public API. Treat it as reference/cookbook maintenance only.
2222+
- extended reaction-list surface (`b2848025d`): investigated; `ReactionSelectorExtendedList` was added to `ComponentContext`, `MessageReactionsDetail` gained an add-reaction step, and `reactionDetailsSort` forwarding was fixed, but these are additive/current-behavior changes rather than a distinct v13-to-v14 migration bucket. Track the missing docs separately.
2223+
- EmojiPicker stylesheet addition (`b4ed46455`): investigated; `stream-chat-react/dist/css/emoji-picker.css` is a new additive stylesheet entrypoint, not a removed or renamed v13 API. Track it as docs-alignment work only.
2224+
- assorted post-beta UI fixes (`443b9a8a9`, `be8ed265f`, `6605f6361`): investigated; message padding, jump-to-message scroll behavior, and broader UI glitch fixes change runtime polish but do not remove or rename a public API.
21442225

21452226
## Notes For Migration Guide Drafting
21462227

0 commit comments

Comments
 (0)