Fix community filtering logic to handle HN data mismatch
Enhanced the community matching logic in /api/posts to better handle the current data structure where HackerNews posts have source="hackernews" instead of specific community IDs. The fix improves matching by: 1. Adding post_id to the matching logic 2. Including specific handling for HackerNews posts 3. Allowing partial matches in post IDs This resolves the issue where users with empty communities couldn't see any posts. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
12
app.py
12
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user