ssb: Revise the message queries slightly to not include votes where it might just be noisy.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 37m10s

This commit is contained in:
2025-07-01 12:50:02 -04:00
parent 1542370f9b
commit 586f87625d
2 changed files with 9 additions and 15 deletions

View File

@ -1,5 +1,5 @@
{ {
"type": "tildefriends-app", "type": "tildefriends-app",
"emoji": "🦀", "emoji": "🦀",
"previous": "&+qpSXlZs7/UiRIcV0y7rwq7voYMGEkla0YHQCUiiGpo=.sha256" "previous": "&9egAArMLNHQzp1yniwnxD41e4T7qXWAfLNJdH4LrXS8=.sha256"
} }

View File

@ -174,13 +174,13 @@ class TfTabNewsFeedElement extends LitElement {
SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature
FROM messages FROM messages
JOIN json_each(?) AS following ON messages.author = following.value JOIN json_each(?) AS following ON messages.author = following.value
WHERE messages.content ->> 'channel' = ?4 WHERE messages.content ->> 'channel' = ?4 AND messages.content ->> 'type' != 'vote'
UNION UNION
SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature
FROM messages_refs FROM messages_refs
JOIN messages ON messages.id = messages_refs.message JOIN messages ON messages.id = messages_refs.message
JOIN json_each(?1) AS following ON messages.author = following.value JOIN json_each(?1) AS following ON messages.author = following.value
WHERE messages_refs.ref = '#' || ?4 WHERE messages_refs.ref = '#' || ?4 AND messages.content ->> 'type' != 'vote'
) )
SELECT TRUE AS is_primary, all_news.* FROM all_news SELECT TRUE AS is_primary, all_news.* FROM all_news
WHERE (?2 IS NULL OR all_news.timestamp >= ?2) AND all_news.timestamp < ?3 WHERE (?2 IS NULL OR all_news.timestamp >= ?2) AND all_news.timestamp < ?3
@ -235,18 +235,12 @@ class TfTabNewsFeedElement extends LitElement {
let t0 = new Date(); let t0 = new Date();
let initial_messages = await tfrpc.rpc.query( let initial_messages = await tfrpc.rpc.query(
` `
WITH SELECT TRUE AS is_primary, messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature
all_news AS ( FROM messages
SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature JOIN json_each(?) AS following ON messages.author = following.value
FROM messages WHERE messages.timestamp < ?3 AND (?2 IS NULL OR messages.timestamp >= ?2) AND
JOIN json_each(?) AS following ON messages.author = following.value messages.content ->> 'type' != 'vote'
), ORDER BY timestamp DESC LIMIT 20
news AS (
SELECT * FROM all_news
WHERE all_news.timestamp < ?3 AND (?2 IS NULL OR all_news.timestamp >= ?2)
ORDER BY timestamp DESC LIMIT 20
)
SELECT TRUE AS is_primary, news.* FROM news
`, `,
[JSON.stringify(this.following), start_time, end_time] [JSON.stringify(this.following), start_time, end_time]
); );