Increment unread count less wildly

Works on #1293
This commit is contained in:
Mouse Reeve 2021-08-23 15:47:14 -07:00
parent 79063507e5
commit 26e932aa7b

View file

@ -23,14 +23,15 @@ class ActivityStream(RedisStore):
"""statuses are sorted by date published"""
return obj.published_date.timestamp()
def add_status(self, status):
def add_status(self, status, increment_unread=False):
"""add a status to users' feeds"""
# the pipeline contains all the add-to-stream activities
pipeline = self.add_object_to_related_stores(status, execute=False)
for user in self.get_audience(status):
# add to the unread status count
pipeline.incr(self.unread_id(user))
if increment_unread:
for user in self.get_audience(status):
# add to the unread status count
pipeline.incr(self.unread_id(user))
# and go!
pipeline.execute()
@ -262,7 +263,7 @@ def add_status_on_create(sender, instance, created, *args, **kwargs):
return
for stream in streams.values():
stream.add_status(instance)
stream.add_status(instance, increment_unread=created)
if sender != models.Boost:
return