Deleted group channel remains in GroupChannelList

[Problem/Question]
After deleting 1:1 group channel from the dashboard and deleting one of the participating users, the GroupChannelList for the remaining user still includes that channel

// If problem, please fill out the below. If question, please delete.
[UIKit Version]
3.16.4

[Reproduction Steps]
Create a 1:1 group channel with users A and B
Render the GroupChannelList within a SendbirdProvider context for user A and observe the group channel
From Sendbird Dashboard, delete the group channel and delete user B
Render the GroupChannelList for user A and observe the deleted group channel is still present
Attempting to enter that group channel gives a runtime error:
Cannot read properties of null (reading ‘members’)
TypeError: Cannot read properties of null (reading ‘members’)

Expected the deleted group channel to no longer be present in the GroupChannelList

[Frequency]
Always

[Current impact]
Impacting a central piece of functionality in our app that enables removal of unused channels

1 Like

Hi @DanO , Welcome to the Sendbird Community!

To help you more effectively with the issue you’re encountering, we kindly request additional specific details. Please share the information with us through your email reply.

1 Like

Hello Miyoung. Thank you for the quick response.

So far, I have moved to 3.16.11 and confirmed the issue still exists.
I do have some customizations to GroupChannelList, but I’ve now run without those and find that the problem still exists.

I have noted something interesting. If I click on one of the already-deleted channels that is showing in the surviving user’s channel list and allow it to crash with the stack trace provided, the next time I start my app, that channel is no longer in the channel list. So, it seems that some deleted channels do get filtered out and are not listed… but others are still listed.

When I reported the issue, I thought deleting the channel and the other user were necessary to produce the crash. Manually testing, it appears to be sufficient to just delete the channel, rather than both the channel and other member, in order to produce the error.

It wasn’t my intended workflow, but if I start by having the surviving user leave the channel, followed by deleting the channel, and lastly, deleting the other user, everything works fine. Leaving the channel is, as expected, sufficient for that channel to no longer show in the surviving user’s channel list.

Here’s my use of GroupChannelList, with some debugging included:

<GroupChannelList
disableAutoSelect={true}
channelListQueryParams={{
includeEmpty: true, // Recently changed from false for testing
includeFrozen: false,
}}
onChannelSelect={(channel) => {
console.log(“Selected channel:”, {
url: channel.url,
name: channel.name,
memberCount: channel.memberCount,
members: channel.members.map(m => ({
userId: m.userId,
nickname: m.nickname,
isActive: m.isActive,
state: m.state,
connectionStatus: m.connectionStatus,
})),
isHidden: channel.isHidden,
isFrozen: channel.isFrozen,
});
}}
// Custom rendering disabled for testing
// renderChannelPreview={CustomChannelPreview}
// renderHeader={() => }
/>

Thanks,

Dan.

1 Like