ssb: Split recent votes into their own sidebar item as an experiment. #122

This commit is contained in:
2025-06-04 18:00:46 -04:00
parent 7882fcbe8f
commit 45231d703d
4 changed files with 36 additions and 2 deletions

View File

@ -214,6 +214,28 @@ class TfTabNewsFeedElement extends LitElement {
[JSON.stringify(this.private_messages), start_time, end_time]
);
result = (await this.decrypt(result)).filter((x) => x.decrypted);
} else if (this.hash == '#👍') {
result = await tfrpc.rpc.query(
`
WITH votes AS (SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature
FROM messages
JOIN json_each(?1) AS following ON messages.author = following.value
WHERE
messages.content ->> 'type' = 'vote' AND
(?2 IS NULL OR messages.timestamp >= ?2) AND messages.timestamp < ?3
ORDER BY timestamp DESC limit 20)
SELECT FALSE AS is_primary, messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature
FROM votes
JOIN messages ON messages.id = votes.content ->> '$.vote.link'
UNION
SELECT TRUE AS is_primary, * FROM votes
`,
[
JSON.stringify(this.following),
start_time,
end_time,
]
);
} else {
let t0 = new Date();
let initial_messages = await tfrpc.rpc.query(