## 🎯 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
<!-- 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