From 2f05e75a85e032b0affcacf0fac929dadfd60a06 Mon Sep 17 00:00:00 2001 From: Jake <134332787+justjxke@users.noreply.github.com> Date: Sat, 4 Oct 2025 06:46:51 +0100 Subject: [PATCH] fix conflicts between rapid navigation and bookmarks (#440) --- src/equicordplugins/channelTabs/index.tsx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/equicordplugins/channelTabs/index.tsx b/src/equicordplugins/channelTabs/index.tsx index 2ea48204d..2cf73c8ac 100644 --- a/src/equicordplugins/channelTabs/index.tsx +++ b/src/equicordplugins/channelTabs/index.tsx @@ -104,14 +104,7 @@ export default definePlugin({ return; } - // Check if we're in bookmark viewing mode - const wasViewingViaBookmark = ChannelTabsUtils.isViewingViaBookmarkMode(); - - // Clear bookmark viewing mode when ANY navigation occurs - // This allows subsequent channel switches to work normally - if (wasViewingViaBookmark) { - ChannelTabsUtils.clearBookmarkViewingMode(); - } + const isViewingViaBookmark = ChannelTabsUtils.isViewingViaBookmarkMode(); let { channelId } = data; let { guildId } = data; @@ -147,6 +140,16 @@ export default definePlugin({ } } + // if bookmark independent mode setting is on, navigate + if (isViewingViaBookmark) { + // dont modify tabs, just let that bookmark action happen + return; + } + + // clear bookmark viewing mode only when this is NOT a bookmark navigation + // this happens when someone manually navigates to a channel (channel list) + ChannelTabsUtils.clearBookmarkViewingMode(); + // At this point, channelId is guaranteed to be non-null if (channelId && guildId) { handleChannelSwitch({ guildId, channelId });