From dda4ec063169e61e642f9aad396eb04d6e67e500 Mon Sep 17 00:00:00 2001 From: Infi Date: Sun, 22 Oct 2023 00:26:49 +0200 Subject: [PATCH] fix: issue where channels didn't load on start in sidebar Signed-off-by: Infi --- .../chat/drawer/channel/ChannelList.kt | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/chat/revolt/components/screens/chat/drawer/channel/ChannelList.kt b/app/src/main/java/chat/revolt/components/screens/chat/drawer/channel/ChannelList.kt index c0660ec2..b30ae164 100644 --- a/app/src/main/java/chat/revolt/components/screens/chat/drawer/channel/ChannelList.kt +++ b/app/src/main/java/chat/revolt/components/screens/chat/drawer/channel/ChannelList.kt @@ -90,7 +90,7 @@ fun RowScope.ChannelList( val enableSmallBanner by remember { derivedStateOf { lazyListState.firstVisibleItemScrollOffset > 40 || - lazyListState.firstVisibleItemIndex > 0 + lazyListState.firstVisibleItemIndex > 0 } } @@ -139,11 +139,9 @@ fun RowScope.ChannelList( .sortedBy { it.lastMessageID ?: it.id } .reversed() - val server = remember(serverId, RevoltAPI.serverCache) { RevoltAPI.serverCache[serverId] } - val categorisedChannels = remember(server, RevoltAPI.channelCache) { - server?.let { - ChannelUtils.categoriseServerFlat(it) - } + val server = RevoltAPI.serverCache[serverId] + val categorisedChannels = server?.let { + ChannelUtils.categoriseServerFlat(it) } Surface( @@ -250,7 +248,7 @@ fun RowScope.ChannelList( DrawerChannel( name = partner?.let { p -> User.resolveDefaultName(p) } ?: channel.name - ?: stringResource(R.string.unknown), + ?: stringResource(R.string.unknown), channelType = channel.channelType ?: ChannelType.TextChannel, selected = currentDestination == "channel/{channelId}" && currentChannel == channel.id, hasUnread = channel.lastMessageID?.let { lastMessageID -> @@ -410,9 +408,9 @@ fun RowScope.ChannelList( Text( text = ( - server?.name - ?: stringResource(R.string.unknown) - ), + server?.name + ?: stringResource(R.string.unknown) + ), style = MaterialTheme.typography.labelLarge, color = if (server?.banner != null) { bannerTextColour @@ -485,7 +483,7 @@ fun RowScope.ChannelList( } } else { items( - categorisedChannels.size ?: 0, + categorisedChannels.size, key = { index -> val channel = categorisedChannels.getOrNull(index) channel?.let {