fix: channel deletion navigates to space root instead of @me

Add stale-channel guard in AppLayout that redirects to the space root
when the URL's channelId no longer exists in the channel list. Remove
the hardcoded navigate('/channels/@me') from ChannelSettingsModal and
the redundant setCurrentChannel fallback from the WS channel_deleted
handler — AppLayout's guard now handles all cases uniformly.
This commit is contained in:
Jannis Braun
2026-03-12 02:55:52 +01:00
parent 88ca2d532b
commit 39174e5454
3 changed files with 14 additions and 19 deletions
-12
View File
@@ -633,18 +633,6 @@ function handleEvent(origin: string, event: ServerEvent): void {
useVoiceStore.setState({ voiceUsers: newVoiceUsers });
}
}
{
const { currentChannelId } = useChatStore.getState();
if (currentChannelId === event.channelId) {
const { channels: remainingChannels } = useSpaceStore.getState();
const firstText = remainingChannels.find(c => c.type === 'text');
if (firstText) {
useChatStore.getState().setCurrentChannel(firstText.id);
} else {
useChatStore.getState().setCurrentChannel(null);
}
}
}
break;
}