Skip to content

fix: reconnection debounce refreshing issues - #3765

Merged
isekovanic merged 1 commit into
developfrom
fix/refresh-list-debounce
Aug 10, 2026
Merged

fix: reconnection debounce refreshing issues#3765
isekovanic merged 1 commit into
developfrom
fix/refresh-list-debounce

Conversation

@isekovanic

Copy link
Copy Markdown
Contributor

🎯 Goal

This PR fixes a very old issue that seems to have been dormant in the SDK for quite a while now.

Since we have a debouncing mechanism for refreshing the channel list (i.e so that we can prevent users doing pull to refresh too often), this inadvertently affects our reconnection flow as well unfortunately.

Let us consider the following scenario:

  • Our connection flickers and the WS is killed (channels are unwatched)
  • We regain connection briefly (refreshList runs)
  • We briefly lose connection again (channels are unwatched again)
  • We regain connection again

The second refreshList() will NOT run, because of the debounce timer. This means that the channels will remain unwatched until we either receive a notification.X event or another hard refresh happens past the debounce timer.

The same can be reproduced in many other ways (i.e going to background and foreground rapidly, using pull to refresh and then losing connection etc).

This was initially noticed while working on V10 but I decided to port it to V9 as well. A V8 port will also come soon after.

πŸ›  Implementation details

🎨 UI Changes

iOS
Before After
Android
Before After

πŸ§ͺ Testing

β˜‘οΈ Checklist

  • I have signed the Stream CLA (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

@Stream-SDK-Bot

Copy link
Copy Markdown
Contributor

SDK Size

title develop branch diff status
js_bundle_size 1991 KB 1991 KB +32 B 🟒

@isekovanic
isekovanic merged commit 7f08741 into develop Aug 10, 2026
10 checks passed
@isekovanic
isekovanic deleted the fix/refresh-list-debounce branch August 10, 2026 16:51
@github-actions github-actions Bot mentioned this pull request Aug 10, 2026
6 tasks
@stream-ci-bot

Copy link
Copy Markdown
Contributor

πŸŽ‰ This PR is included in version 9.7.5 πŸŽ‰

The release is available on:

Your semantic-release bot πŸ“¦πŸš€

isekovanic added a commit that referenced this pull request Aug 10, 2026
## 🎯 Goal

Backport of [this
PR](#3765) to
V8.

## πŸ›  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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants