From 4d4b27e8447463a3992a3cff3456fd78866a5564 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 3 Jan 2021 08:17:00 -0800 Subject: [PATCH] Fixes replies showing up twice in feed --- bookwyrm/views.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bookwyrm/views.py b/bookwyrm/views.py index b518c4fa..09f727f2 100644 --- a/bookwyrm/views.py +++ b/bookwyrm/views.py @@ -45,7 +45,8 @@ def is_api_request(request): def is_bookworm_request(request): ''' check if the request is coming from another bookworm instance ''' user_agent = request.headers.get('User-Agent') - if user_agent is None or re.search(regex.bookwyrm_user_agent, user_agent) is None: + if user_agent is None or \ + re.search(regex.bookwyrm_user_agent, user_agent) is None: return False return True @@ -180,7 +181,7 @@ def get_activity_feed(user, filter_level, model=models.Status): return activities.filter( Q(user=user) | Q(mention_users=user), privacy='direct' - ) + ).distinct() # never show DMs in the regular feed activities = activities.filter(~Q(privacy='direct')) @@ -195,7 +196,7 @@ def get_activity_feed(user, filter_level, model=models.Status): Q(user__in=following, privacy__in=[ 'public', 'unlisted', 'followers' ]) | Q(mention_users=user) | Q(user=user) - ) + ).distinct() elif filter_level == 'self': activities = activities.filter(user=user, privacy='public') elif filter_level == 'local': @@ -512,7 +513,8 @@ def status_page(request, username, status_id): return HttpResponseNotFound() if is_api_request(request): - return ActivitypubResponse(status.to_activity(pure=not is_bookworm_request(request))) + return ActivitypubResponse( + status.to_activity(pure=not is_bookworm_request(request))) data = { 'title': 'Status by %s' % user.username,