From 8eb24cb94544d6f6df5f89791b7b7a71175c2efd Mon Sep 17 00:00:00 2001 From: SergeantPanda Date: Thu, 26 Feb 2026 16:38:09 -0600 Subject: [PATCH] Bug Fix: The channel store refactor changed to loading only channel IDs instead of full channel objects, leaving `Object.keys(channels).length` always `0` and incorrectly triggering the onboarding state on any empty filter. Fixed by checking `channelIds.length` instead. --- CHANGELOG.md | 4 ++++ frontend/src/components/tables/ChannelsTable.jsx | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 336f22fe..8b3ffbb3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- Channel table onboarding shown when filter returns zero results: The channel store refactor changed to loading only channel IDs instead of full channel objects, leaving `Object.keys(channels).length` always `0` and incorrectly triggering the onboarding state on any empty filter. Fixed by checking `channelIds.length` instead. + ## [0.20.1] - 2026-02-26 ### Fixed diff --git a/frontend/src/components/tables/ChannelsTable.jsx b/frontend/src/components/tables/ChannelsTable.jsx index 9a65aae0..06fe652a 100644 --- a/frontend/src/components/tables/ChannelsTable.jsx +++ b/frontend/src/components/tables/ChannelsTable.jsx @@ -282,6 +282,7 @@ const ChannelsTable = ({ onReady }) => { // store/channels const channels = useChannelsStore((s) => s.channels); + const channelIds = useChannelsStore((s) => s.channelIds); const profiles = useChannelsStore((s) => s.profiles); const selectedProfileId = useChannelsStore((s) => s.selectedProfileId); const [tablePrefs, setTablePrefs] = useLocalStorage('channel-table-prefs', { @@ -1438,13 +1439,12 @@ const ChannelsTable = ({ onReady }) => { {/* Table or ghost empty state inside Paper */} - {channelsTableLength === 0 && - Object.keys(channels).length === 0 && ( - - )} + {channelsTableLength === 0 && channelIds.length === 0 && ( + + )} - {(channelsTableLength > 0 || Object.keys(channels).length > 0) && ( + {(channelsTableLength > 0 || channelIds.length > 0) && (