Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: GetStream/stream-chat-react-native
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: GetStream/stream-chat-react-native
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: develop
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 12 commits
  • 135 files changed
  • 5 contributors

Commits on Dec 18, 2025

  1. chore: update sdk size (#3336)

    This PR was created automatically by CI.
    
    Co-authored-by: Ivan Sekovanikj <31964049+isekovanic@users.noreply.github.com>
    Co-authored-by: Stream Bot <runner@runnervmh13bl.b2snqolw0euelb3mofnhwwxadc.bx.internal.cloudapp.net>
    3 people authored Dec 18, 2025
    Configuration menu
    Copy the full SHA
    bb40124 View commit details
    Browse the repository at this point in the history
  2. feat!: remove deprecated APIs and props for the central audio player …

    …change (#3319)
    
    This PR removes the deprecate API after the centralized audio change:
    - useAudioPlayerControl API changes to useAudioControl api
    - useAudioController is changed to useAudioRecorder hook as it just
    handles the audio recording part henceforth.
    - Removed the props with @deprecated label
    khushal87 authored Dec 18, 2025
    Configuration menu
    Copy the full SHA
    4053951 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0afc592 View commit details
    Browse the repository at this point in the history
  4. feat!: remove deprecated APIs and props from useMessageList and chann…

    …el unread state (#3318)
    
    Removed deprecated stuff from the message list improvement PR
    khushal87 authored Dec 18, 2025
    Configuration menu
    Copy the full SHA
    59e62b4 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2025

  1. feat: optional support for react-native-keyboard-controller (#3338)

    Add optional support for the package react-native-keyboard-controller so
    as to make the keyboard interactions smoother in the SDK.
    khushal87 authored Dec 26, 2025
    Configuration menu
    Copy the full SHA
    a05e3fc View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2025

  1. feat: message context menu (#3339)

    ## 🎯 Goal
    
    Resolves [this linear
    issue](https://linear.app/stream/issue/RN-328/message-context-menu).
    
    ## 🛠 Implementation details
    
    <!-- Provide a description of the implementation -->
    
    ## 🎨 UI Changes
    
    <!-- Add relevant screenshots -->
    
    <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>
    
    
    <details>
    <summary>Android</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
    
    <!-- Explain how this change can be tested (or why it can't be tested)
    -->
    
    ## ☑️ 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
    isekovanic authored Dec 27, 2025
    Configuration menu
    Copy the full SHA
    6560ccd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    60d115e View commit details
    Browse the repository at this point in the history
  3. fix: bottom sheet android content issues (#3340)

    ## 🎯 Goal
    
    I unfortunately noticed today that there was a serious concurrency issue
    introduced on Android with [this
    PR](#3339),
    where the bottom sheet content would simply not load 90% of the time.
    
    The issue was that the animation got cancelled in-flight and so the
    animation callback of `withTiming` fired with `finished: false` every
    time, causing the content to never really be shown. These changes should
    address that now.
    
    I also introduced optionality for the lazy loading so that the sheet can
    properly be reused in the future.
    
    ## 🛠 Implementation details
    
    <!-- Provide a description of the implementation -->
    
    ## 🎨 UI Changes
    
    <!-- Add relevant screenshots -->
    
    <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>
    
    
    <details>
    <summary>Android</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
    
    <!-- Explain how this change can be tested (or why it can't be tested)
    -->
    
    ## ☑️ 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
    isekovanic authored Dec 27, 2025
    Configuration menu
    Copy the full SHA
    e6b1525 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2026

  1. Configuration menu
    Copy the full SHA
    2218f1e View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2026

  1. feat: redesign of the Message Input component (#3342)

    # 📝 Changelog — Message Composer & Input Refactor
    
    ## ✨ Design & UX Improvements
    - Introduced a **new unified icon set** across the Message Composer.
    - Added **smoother and more contextual animations** throughout the
    component.
    - Message Composer now internally handles **bottom spacing**, removing
    the need for extra padding in the sample app’s `ChannelScreen`.
    - Added a new **Edit button** with a tick icon for clearer editing
    actions.
    - Reply UI received **theming updates** due to internal component
    refactor.
    
    ---
    
    ## ⬇️ Scroll to Bottom Enhancements
    - Refactored **Scroll to Bottom button** with:
      - Dedicated wrapper
      - Configurable `chevronColor`
      - Touchable support
    - Button visibility logic improved:
      - Now appears when scroll distance **exceeds the composer height**
      - Replaces the previous hardcoded `150px` threshold
    
    ---
    
    ## 🧱 Architectural & State Improvements
    - Message Composer height is now stored in a **detached internal
    state**.
    - Introduced `messageInputFloating` **config prop at the Channel
    level**.
    - Introduced **OutputButtons** as a new dedicated component to manage:
      - Send
      - Cooldown
      - Edit
      - Audio recording buttons
    
    ---
    
    ## 🎨 Theme Updates
    
    ### MessageList
    **New theme properties:**
    - `scrollToBottomButtonContainer`
    - `stickyHeaderContainer`
    - `unreadMessagesNotificationContainer`
    
    ---
    
    ### Removed / Deprecated Themes
    - `audioRecordingButton` theme is no longer relevant.
    - **SendButton** theme props removed:
      - `sendUpIcon`
      - `sendRightIcon`
      - `searchIcon`
    - `CooldownTimer.container` theme removed.
    - **InputButtons**
      - `MoreOptionsButton`
      - `CommandsButton` are no longer used.
    
    ---
    
    ## 📎 Attachment & Preview Changes
    
    ### ImageAttachmentUploadPreview
    - `itemContainer` theme removed.
    - New unified `container` theme introduced.
    
    ### AttachmentUploadListPreview
    - Removed:
      - `imagesFlatList`
      - `filesFlatList`
      - `wrapper`
    - Now uses:
      - Single unified `flatList`
      - `itemSeparator` as the only theme prop.
    
    ### FileAttachmentUploadPreview
    - `wrapper` theme removed.
    - `flatListWidth` prop removed.
    - Title rendering logic simplified and made more consistent.
    
    ---
    
    ## ⌨️ AutoComplete & Cooldown Updates
    - **AutoCompleteInput**
      - `coolDownActive` → `cooldownRemainingSeconds`
    - **CooldownTimer**
      - `container` theme removed.
    
    ---
    
    ## ✂️ Removed Components
    The following components are no longer part of the Message Input flow:
    - `InputEditingStateHeader`
    - `InputReplyStateHeader`
    - `CommandButton`
    - `MoreOptionsButton`
    
    ---
    
    ## 🧩 MessageInput — Breaking Changes
    
    ### ❌ Removed Props
    - `InputEditingStateHeader`
    - `InputReplyStateHeader`
    - `StopMessageStreamingButton`
    - `SendButton`
    - `CooldownTimer`
    - `channel`
    
    ### ➕ Added Props
    - `isKeyboardVisible`
    - `hasAttachments`
    
    ---
    
    ## 🎨 MessageInput Theme Changes
    
    ### Removed Theme Keys
    - `editingBoxContainer`
    - `editingBoxHeader`
    - `editingBoxHeaderTitle`
    - `editingStateHeader.editingBoxHeader`
    - `editingStateHeader.editingBoxHeaderTitle`
    - `imageUploadPreview.flatList`
    - `moreOptionsButton`
    - `autoCompleteInputContainer`
    - `optionsContainer`
    - `composerContainer`
    - `inputBox`
    
    ### Added Theme Keys
    - `wrapper`
    - `contentContainer`
    - `inputBoxWrapper`
    - `inputButtonsContainer`
    - `inputContainer`
    - `inputFloatingContainer`
    - `floatingWrapper`
    - `editButton`
    - `cooldownButtonContainer`
    - `outputButtonsContainer`
    
    ---
    
    ## ⚠️ Migration Notes
    - Custom themes targeting removed keys will need updates.
    - Remove manual bottom padding from `ChannelScreen`.
    - Update `AutoCompleteInput` usage to `cooldownRemainingSeconds`.
    - Consumers using removed MessageInput props must migrate to the new
    API.
    
    ---
    khushal87 authored Jan 14, 2026
    Configuration menu
    Copy the full SHA
    7b5f9d6 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2026

  1. Configuration menu
    Copy the full SHA
    0c3f87c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5db18de View commit details
    Browse the repository at this point in the history
Loading