From 3f41a48bc759f532db63b51a60e03f466043ca08 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Mon, 9 Jun 2025 12:16:09 -0400 Subject: [PATCH] ssb: Use message refs to get channel contents, not full-text search. Much faster for certain channels. --- apps/ssb.json | 2 +- apps/ssb/tf-tab-news-feed.js | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/ssb.json b/apps/ssb.json index dbeb8ecf..d6538d98 100644 --- a/apps/ssb.json +++ b/apps/ssb.json @@ -1,5 +1,5 @@ { "type": "tildefriends-app", "emoji": "🦀", - "previous": "&j9NkLFuUOfxQhgR6Z3fA4kCWRY1Dcv+7AIAaoaffiBU=.sha256" + "previous": "&Bpf8wmdsVYGPSBduytapHM7XHz2iCGfaysVHfEKYK/s=.sha256" } diff --git a/apps/ssb/tf-tab-news-feed.js b/apps/ssb/tf-tab-news-feed.js index df6d15c2..e3eda0ac 100644 --- a/apps/ssb/tf-tab-news-feed.js +++ b/apps/ssb/tf-tab-news-feed.js @@ -177,10 +177,10 @@ class TfTabNewsFeedElement extends LitElement { WHERE messages.content ->> 'channel' = ?4 UNION SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature - FROM messages_fts(?5) - JOIN messages ON messages.rowid = messages_fts.rowid + FROM messages_refs + JOIN messages ON messages.id = messages_refs.message JOIN json_each(?1) AS following ON messages.author = following.value - JOIN json_tree(messages.content, '$.mentions') AS mention ON mention.value = '#' || ?4 + WHERE messages_refs.ref = '#' || ?4 ) SELECT TRUE AS is_primary, all_news.* FROM all_news WHERE (?2 IS NULL OR all_news.timestamp >= ?2) AND all_news.timestamp < ?3 @@ -191,7 +191,6 @@ class TfTabNewsFeedElement extends LitElement { start_time, end_time, this.hash.substring(2), - '"#' + this.hash.substring(2).replace('"', '""') + '"', ] ); let t1 = new Date();