4 Commits

Author SHA1 Message Date
db115ef1bd cleanup: Just assessing how much we need OpenSSL and noticed cruft.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 36m55s
2025-07-01 18:42:43 -04:00
678838dbd5 update: OpenSSL 3.5.1.
Some checks failed
Build Tilde Friends / Build-All (push) Has been cancelled
2025-07-01 18:32:19 -04:00
586f87625d 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
2025-07-01 12:50:02 -04:00
1542370f9b ssb: Let's try not tracking vote unread status. It's useful that the channel is there, but it's too noisy for me to want to mark it as read.
Some checks failed
Build Tilde Friends / Build-All (push) Has been cancelled
2025-07-01 12:41:25 -04:00
5 changed files with 10 additions and 27 deletions

View File

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

View File

@ -422,16 +422,6 @@ class TfElement extends LitElement {
`, `,
k_args k_args
), ),
this.query_timed(
`
SELECT '👍' AS channel, MAX(messages.rowid) AS rowid FROM messages
JOIN json_each(?2) AS following ON messages.author = following.value
WHERE
messages.content ->> 'type' = 'vote' AND
messages.author != ?4
`,
k_args
),
]) ])
).flat(); ).flat();
let latest = {}; let latest = {};

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]
); );

View File

@ -7,7 +7,6 @@
#include "trace.h" #include "trace.h"
#include "backtrace.h" #include "backtrace.h"
#include "openssl/sha.h"
#include "picohttpparser.h" #include "picohttpparser.h"
#include "sodium/utils.h" #include "sodium/utils.h"
#include "uv.h" #include "uv.h"