diff --git a/app.py b/app.py index 3e87d01..e38ed3e 100644 --- a/app.py +++ b/app.py @@ -452,15 +452,23 @@ def api_posts(): if user_communities: post_source = post_data.get('source', '').lower() post_platform = post_data.get('platform', '').lower() + post_id = post_data.get('id', '').lower() # Check if this post matches any of the user's selected communities matches_community = False for selected_community in user_communities: selected_community = selected_community.lower() - # Match by exact source name or platform name + + # Enhanced matching logic: + # 1. Exact source match + # 2. Platform match (for generic selections like 'hackernews') + # 3. Partial match in post ID for platform-specific communities + # 4. Handle current data mismatch where HN posts have source="hackernews" if (post_source == selected_community or post_platform == selected_community or - selected_community in post_source): + (selected_community in post_source) or + (selected_community in post_id) or + (post_platform == 'hackernews' and selected_community in ['front_page', 'ask', 'show', 'hackernews'])): matches_community = True break