summaryrefslogtreecommitdiff
path: root/internal/processing/workers
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/workers')
-rw-r--r--internal/processing/workers/surfacetimeline.go21
1 files changed, 7 insertions, 14 deletions
diff --git a/internal/processing/workers/surfacetimeline.go b/internal/processing/workers/surfacetimeline.go
index a13e6bc70..a45c83188 100644
--- a/internal/processing/workers/surfacetimeline.go
+++ b/internal/processing/workers/surfacetimeline.go
@@ -91,9 +91,13 @@ func (s *surface) timelineAndNotifyStatusForFollowers(
)
for _, follow := range follows {
- // Do an initial rough-grained check to see if the
- // status is timelineable for this follower at all
- // based on its visibility and who it replies to etc.
+ // Check to see if the status is timelineable for this follower,
+ // taking account of its visibility, who it replies to, and, if
+ // it's a reblog, whether follower account wants to see reblogs.
+ //
+ // If it's not timelineable, we can just stop early, since lists
+ // are prettymuch subsets of the home timeline, so if it shouldn't
+ // appear there, it shouldn't appear in lists either.
timelineable, err := s.filter.StatusHomeTimelineable(
ctx, follow.Account, status,
)
@@ -107,17 +111,6 @@ func (s *surface) timelineAndNotifyStatusForFollowers(
continue
}
- if boost && !*follow.ShowReblogs {
- // Status is a boost, but the owner of
- // this follow doesn't want to see boosts
- // from this account. We can safely skip
- // everything, then, because we also know
- // that the follow owner won't want to be
- // have the status put in any list timelines,
- // or be notified about the status either.
- continue
- }
-
// Add status to any relevant lists
// for this follow, if applicable.
s.listTimelineStatusForFollow(