Repository navigation
chore(deps): bump stream-chat to 10.0.0 - #3951
Merged
Merged
Conversation
Contributor
SDK Size
|
Contributor
|
π This PR is included in version 10.0.0 π The release is available on:
Your semantic-release bot π¦π |
2 of 6 tasks
isekovanic
added a commit
that referenced
this pull request
Nov 9, 2026
β¦3953) Ticket: https://linear.app/stream/issue/REACT-1537 ## π― Goal Make the SampleApp start new conversations the way the v10 "Starting a conversation" UI cookbook does, so the sample exercises the path integrators follow. It also bumps `stream-chat` to 10.0.1, which has the fix for the first-message error (GetStream/stream-chat-js#2007). | Commit | Change | | --- | --- | | [`39a2be3b0`](39a2be3b0) | SampleApp new-conversation screen follows the UI cookbook | | [`caec3a002`](caec3a002) | `stream-chat` bumped to 10.0.1 | Its new-conversation screen had a custom send button that composed the message, called `channel.watch()` and the raw `channel.sendMessage()`, then replaced the screen with `ChannelScreen`. The message never showed as sending, and the cookbook's flow was never run in the sample, which is how the first-message error fixed in GetStream/stream-chat-js#2007 went unnoticed. ## π Implementation details - `utils/startConversation.ts` holds the cookbook's two helpers. `startLocalConversation()` gets the channel from its members and places an empty first page while it's provisional, so the list shows its empty state. `createOnFirstSend()` is a `sendMessageRequest` handler: for a provisional channel it calls `Channel.watch()`, which creates the channel, and sends on the instance `watch()` resolves with. Every other channel sends through the default request. - `useChatClient` registers the handler in its existing `client.config.set()` call, where the client is created. - `NewDirectMessagingScreen` builds its draft with `startLocalConversation()`, uses the default `MessageComposer`, and passes `overrideOwnCapabilities` (`sendMessage` and `sendLinks`) only while the channel is provisional. It stays open after the first send, and `<Channel>` moves to the created channel, or to the one that superseded it. - Once the first message creates a conversation started on this screen, `NewConversationHeader` replaces the recipient picker with the channel header. An existing conversation keeps the picker, so its recipients can still be changed. - `ChannelHeader` is exported from `ChannelScreen` with two optional props: `onBack`, so the new-conversation screen still resets its user search on back, and `inSafeArea`, since that screen already applies the top inset. `ChannelScreen` passes neither and is unchanged. - `NewDirectMessagingSendButton` is removed. The other example apps don't start conversations from members (ExpoChatGPTSample creates its channels with an id), so they need no change. `stream-chat` goes from `^10.0.0` to `^10.0.1` in the SDK and every example app, as in #3951. 10.0.1 is 10.0.0 plus GetStream/stream-chat-js#2007: the first message in a channel whose newest page was loaded empty now starts the newest interval, so `jumpToTheLatestMessage()` no longer fails right after the first send of a new conversation. ## π¨ UI Changes The new-conversation screen keeps the conversation open after the first message and swaps the recipient picker for the channel header. Before, it navigated to `ChannelScreen`. ## π§ͺ Testing Tested in SampleApp on iOS (debug build, iPhone 17 Pro simulator), starting new conversations with throwaway users. Each first send went through the superseded-channel path from the cookbook report. - With `stream-chat` 10.0.0-rc.34, a new direct conversation sends from the same screen, and `stream-chat` emits `api:message:jumpToLatest:failed`, the error the cookbook report describes. - With a local build of GetStream/stream-chat-js#2007 (the code 10.0.1 ships), the same flow emits no notifications and the channel the screen moves to is at the newest messages. - A new group of three: the empty state shows before the first message and the attach button is hidden while the channel is provisional. After the send, the channel header replaces the picker ("3 members, 1 online"), back returns to the channel list, and "New Chat" opens empty again. The created channels show in the channel list, and `ChannelScreen`'s header is unchanged. - On 10.0.1: the full unit suite, `yarn test:typecheck`, SampleApp `tsc` and `yarn lint` pass. ## βοΈ Checklist - [x] I have signed the [Stream CLA](https://docs.google.com/forms/d/e/1FAIpQLScFKsKkAJI7mhCr7K9rEIOpqIDThrWxuvxnwUq2XkHyG154vQ/viewform) (required) - [x] PR targets the `develop` branch - [ ] Documentation is updated - [ ] New code is tested in main example apps, including all possible scenarios - [ ] SampleApp iOS and Android - [ ] Expo iOS and Android
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket: https://linear.app/stream/issue/RN-516
π― Goal
stream-chat10.0.0 is out onlatest. Move the SDK and the example apps off the release candidate, so 10.0.0 of this SDK ships against the stable client.π Implementation details
stream-chat:^10.0.0-rc.34β^10.0.0in core (package/package.json) and in SampleApp, E2ETestApp, ExpoMessaging and ExpoChatGPTSample. The wrappers don't declare it.yarn.lock: the onestream-chatentry now resolves to 10.0.0. Nothing else in the lockfile moved.π§ͺ Testing
yarn build,yarn typecheck,yarn lintandyarn test:unit(252 suites, 2385 tests) pass.βοΈ Checklist
developbranch