Repository navigation
Next Release - #3984
Merged
Merged
Next Release#3984
Conversation
Ticket: https://linear.app/stream/issue/RN-523 ## π― Goal Editing a message with a video showed no duration pill in the composer. Since the OpenAPI migration the duration was never sent with the message, so once the local file is gone there was nothing to show. ## π Implementation details - The video pre-upload middleware now sends the picked file's duration along as `custom.duration`. - `VideoAttachmentUploadPreview` falls back to `custom.duration` when there is no local file. - Videos sent from v9 work too, since the v2 API returns their old top-level `duration` under `custom`. Videos sent from v10 before this fix have no duration stored and still show no pill. ## π§ͺ Testing - Unit tests for the middleware and the edit preview. - Tested on the iOS simulator: picked, sent and edited a video, and the pill shows in the edit view.
Ticket: https://linear.app/stream/issue/RN-526 ## π― Goal When the first unread message starts a new day, the unread indicator showed up above its date separator. The date separator now comes first. ## π Implementation details The indicator was rendered at the bottom of the last read message's row, and the date separator at the top of the next row. It now renders in the first unread message's row, between the date separator and the message. The selector that finds the boundary checks the previous message instead of the next one. The rule itself is unchanged. ## π¨ UI Changes <details> <summary>iOS</summary> <table> <thead> <tr> <td>Before</td> <td>After</td> </tr> </thead> <tbody> <tr> <td> <!--<img src="" /> --> </td> <td> <!--<img src="" /> --> </td> </tr> </tbody> </table> </details> ## π§ͺ Testing Open a channel where the first unread message is on a different day than the last read one. The date separator should be above "N unread messages", with the same spacing as before. Updated the two `MessageList` tests that expected the indicator on the last read row and added one for the order. ## βοΈ Checklist - [ ] 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
Ticket: https://linear.app/stream/issue/RN-527 Stacked on #3980. ## π― Goal In poll creation, the + button of the max votes stepper moved when the value went from 9 to 10, because the number input grew with its text. ## π Implementation details The input gets a 32pt minimum width, no horizontal padding and centered text, so it stays the same width from 2 to 10. The row gap goes from `spacingXxs` to `spacingXs` to match the design. Vertical padding is unchanged. ## π¨ UI Changes <details> <summary>iOS</summary> <table> <thead> <tr> <td>Before</td> <td>After</td> </tr> </thead> <tbody> <tr> <td> <!--<img src="" /> --> </td> <td> <!--<img src="" /> --> </td> </tr> </tbody> </table> </details> ## π§ͺ Testing Create a poll, turn on "Multiple votes" and "Limit votes per person", and step between 9 and 10. The + button should stay in place. ## βοΈ Checklist - [ ] I have signed the [Stream CLA](https://docs.google.com/forms/d/e/1FAIpQLScFKsKkAJI7mhCr7K9rEIOpqIDThrWxuvxnwUq2XkHyG154vQ/viewform) (required) - [ ] 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
Ticket: https://linear.app/stream/issue/RN-520 ## π― Goal Fix the failures in nightly [43138494994](https://github.com/GetStream/stream-chat-react-native/actions/runs/43138494994). Three jobs failed, for four separate reasons. None of them is a regression in the SDK. ## π Implementation details **iOS 17.5: `test_messageListScrollsDown_whenMessageListIsScrolledDown_andUserReceivesNewMessage`** (fails in every nightly) - When a message arrives while the list is at the bottom, the scroll-to-bottom button shows for a moment while the list scrolls to it, then hides. The "button is hidden" assert could pass before the button appeared, and its single follow-up check then caught it on screen. - `assertVisibility(false)` now waits until the element has stayed hidden for 1 s. **Android API 34: "The app has unexpectedly disconnected from Detox server"** - The app crashes natively right after launch (`SIGSEGV` in `android_unsafe_frame_pointer_chase`). Android 14 turns on GWP-ASan memory sampling for every app. On the x86_64 emulator, GWP-ASan crashes while recording the stack of a Hermes memory free. Both crashes had the same fault address. - The E2E app's manifest now sets `android:gwpAsanMode="never"`. **Android API 34: "MockServer did not start within 5000ms"** - Both failures, an hour apart, got the same port (41215) from the driver, and nothing ever answered on it. - The harness now picks a port itself that is free on both IPv4 and IPv6. `localhost` resolves to `::1` on CI, as the mock server logs show. It passes the port to `/start`, and retries the start on a new port up to 3 times. **Android API 36 (coverage batch 1): Polls tests** - The keyboard was still open from the composer and covered the option field that appears below the filled one, so that field never counted as visible. - On Android, `createPoll` now taps the "Questions" label before each option field to hide the keyboard. Not addressed: `test_userLeavesGroupChannel` failed on an empty channel actions sheet, which is the known SDK bug RN-489. ## π§ͺ Testing - iOS 17.5, iPhone 15 Pro, locally: the failing test failed 5/5 before the fix and passed 4/4 after it. - Android (Pixel API 37 emulator, release build with the new manifest): `PollsTests` 7/7. The built APK contains `gwpAsanMode=0`. The API 34 crash is random, so the nightly has to confirm that fix. - eslint, prettier and `tsc -p e2e` are clean. ## βοΈ 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
Contributor
SDK Size
|
|
π This PR is included in version 10.0.2 π The release is available on:
Your semantic-release bot π¦π |
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.
π― Goal
π Implementation details
π¨ UI Changes
iOS
Android
π§ͺ Testing
βοΈ Checklist
developbranch