diff --git a/backend/app/sync/subscriptions.py b/backend/app/sync/subscriptions.py index 3638eea..e8b98cc 100644 --- a/backend/app/sync/subscriptions.py +++ b/backend/app/sync/subscriptions.py @@ -69,7 +69,7 @@ def apply_channel_details(db: Session, items: list[dict]) -> None: channel.banner_url = branding.get("image", {}).get("bannerExternalUrl") channel.external_links = _external_links(branding) channel.topic_categories = topics.get("topicCategories") - channel.keywords = branding.get("channel", {}).get("keywords") + channel.keywords = (branding.get("channel") or {}).get("keywords") channel.details_synced_at = now diff --git a/frontend/src/components/ChannelPage.tsx b/frontend/src/components/ChannelPage.tsx index 5ad3ea1..25aaf63 100644 --- a/frontend/src/components/ChannelPage.tsx +++ b/frontend/src/components/ChannelPage.tsx @@ -38,7 +38,8 @@ function topicLabels(urls: string[]): string[] { } catch { /* keep raw */ } - seen.add(label.replace(/_/g, " ")); + label = label.replace(/_/g, " ").trim(); + if (label) seen.add(label); } return [...seen]; }