From 3a767f05fc1a855a79ee077162842c587f7046fc Mon Sep 17 00:00:00 2001 From: Mike Dilger Date: Tue, 3 Jan 2023 17:29:15 +1300 Subject: [PATCH] Fix following feed pollution --- src/feed.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/feed.rs b/src/feed.rs index 5b84a066..6b0fe9a1 100644 --- a/src/feed.rs +++ b/src/feed.rs @@ -146,6 +146,11 @@ impl Feed { .map(|e| e.to_owned()) .collect(); + let mut pubkeys = GLOBALS.people.blocking_read().get_followed_pubkeys(); + if let Some(pubkey) = GLOBALS.signer.blocking_read().public_key() { + pubkeys.push(pubkey.into()); // add the user + } + // My event ids if let Some(pubkey) = GLOBALS.signer.blocking_read().public_key() { *self.my_event_ids.write() = events @@ -157,11 +162,10 @@ impl Feed { } // Followed event ids - let followed_pubkeys = GLOBALS.people.blocking_read().get_followed_pubkeys(); *self.followed_event_ids.write() = events .iter() .filter_map(|e| { - if followed_pubkeys.contains(&e.pubkey.into()) { + if pubkeys.contains(&e.pubkey.into()) { Some(e.id) } else { None @@ -172,11 +176,13 @@ impl Feed { // Filter further for the feed let mut events: Vec = events .iter() + .filter(|e| pubkeys.contains(&e.pubkey.into())) // something we follow .filter(|e| !GLOBALS.dismissed.blocking_read().contains(&e.id)) .cloned() .collect(); - events.sort_unstable_by(|a, b| b.created_at.cmp(&a.created_at)); + // In time order + events.sort_by(|a, b| b.created_at.cmp(&a.created_at)); *self.general_feed.write() = events.iter().map(|e| e.id).collect(); }