From 5c18498d99980fe6645e65be74e32f2b70668f52 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Thu, 9 Jul 2020 17:56:13 -0400 Subject: [PATCH 1/2] No future dating mark read dates due to stories being future dated. --- apps/reader/models.py | 4 +++- apps/social/models.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/reader/models.py b/apps/reader/models.py index 7c86753d8..f0481f313 100644 --- a/apps/reader/models.py +++ b/apps/reader/models.py @@ -624,7 +624,9 @@ class UserSubscription(models.Model): if cutoff_date: cutoff_date = cutoff_date + datetime.timedelta(seconds=1) else: - latest_story = MStory.objects(story_feed_id=self.feed.pk)\ + now = datetime.datetime.now() + latest_story = MStory.objects(story_feed_id=self.feed.pk, + story_date__lte=now)\ .order_by('-story_date').only('story_date').limit(1) if latest_story and len(latest_story) >= 1: cutoff_date = (latest_story[0]['story_date'] diff --git a/apps/social/models.py b/apps/social/models.py index ed0f9073f..c32feff6b 100644 --- a/apps/social/models.py +++ b/apps/social/models.py @@ -1255,8 +1255,10 @@ class MSocialSubscription(mongo.Document): cutoff_date = cutoff_date + datetime.timedelta(seconds=1) else: # Use the latest story to get last read time. + now = datetime.datetime.now() latest_shared_story = MSharedStory.objects(user_id=self.subscription_user_id, - shared_date__gte=user_profile.unread_cutoff + shared_date__gte=user_profile.unread_cutoff, + story_date__lte=now ).order_by('-shared_date').only('shared_date').first() if latest_shared_story: cutoff_date = latest_shared_story['shared_date'] + datetime.timedelta(seconds=1) From 85e70ba81e80890ab36b03a92d58f5881100869f Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Mon, 13 Jul 2020 14:37:34 -0400 Subject: [PATCH 2/2] Adding in model for upcoming highlights (so non-highlights branches dont crash on new data --- apps/rss_feeds/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index 4b75fa0af..fa3a47aef 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -2969,6 +2969,7 @@ class MStarredStoryCounts(mongo.Document): user_id = mongo.IntField() tag = mongo.StringField(max_length=128) feed_id = mongo.IntField() + is_highlights = mongo.BooleanField() slug = mongo.StringField(max_length=128) count = mongo.IntField(default=0)