From b3604039fa6ab3b35dd74af0e8defb035fc93a58 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Mon, 27 Oct 2025 12:56:04 -0400 Subject: [PATCH] ssb: Try harder to not show off-channel messages in the general feed. --- apps/ssb.json | 2 +- apps/ssb/tf-tab-news-feed.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/ssb.json b/apps/ssb.json index 613a72a1..acead762 100644 --- a/apps/ssb.json +++ b/apps/ssb.json @@ -1,5 +1,5 @@ { "type": "tildefriends-app", "emoji": "🦀", - "previous": "&eAjYZEvYgIFuc1RGphOEtr21HMnhCMUe3ppKJ3e+IwM=.sha256" + "previous": "&fzy0c20XeWQZt1G4nCmWgPeS/NfGdMzy3k79Fd0OkQM=.sha256" } diff --git a/apps/ssb/tf-tab-news-feed.js b/apps/ssb/tf-tab-news-feed.js index e7d9f6be..f960dd34 100644 --- a/apps/ssb/tf-tab-news-feed.js +++ b/apps/ssb/tf-tab-news-feed.js @@ -263,6 +263,10 @@ class TfTabNewsFeedElement extends LitElement { JOIN json_each(?1) AS following ON messages.author = following.value WHERE messages.timestamp < ?3 AND (?2 IS NULL OR messages.timestamp >= ?2) AND messages.content ->> 'type' != 'vote' AND + (messages.content ->> 'root' IS NULL OR ( + NOT EXISTS (SELECT * FROM messages root JOIN channels ON ('#' || (root.content ->> 'channel')) = channels.value WHERE root.id = messages.content ->> 'root') AND + NOT EXISTS (SELECT * FROM messages root JOIN messages_refs ON root.id = messages.content ->> 'root' JOIN channels ON messages_refs.message = root.id AND messages_refs.ref = channels.value) + )) AND (messages.content ->> 'channel' IS NULL OR ('#' || (messages.content ->> 'channel')) NOT IN (SELECT * FROM channels)) AND NOT EXISTS (SELECT * FROM messages_refs JOIN channels ON messages_refs.message = messages.id AND messages_refs.ref = channels.value) ORDER BY timestamp DESC LIMIT ?4