Fixing getRecentPostIds for the millionth time.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3721 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2021-12-29 21:20:24 +00:00
parent 12010a84a3
commit 0cab3e7ed9
2 changed files with 8 additions and 7 deletions

View File

@ -150,7 +150,7 @@ function fnv32a(value)
}
async function getRecentPostIds(db, id, ids, limit) {
const k_version = 9;
const k_version = 10;
const k_batch_max = 8;
var o = await db.get(id + ':recent_posts');
var recent = [];
@ -161,7 +161,7 @@ async function getRecentPostIds(db, id, ids, limit) {
}
var row_id_max = 0;
await ssb.sqlStream(
"SELECT MAX(rowid) as rowid FROM messages ORDER BY timestamp DESC LIMIT ?",
"SELECT MAX(rowid) as rowid FROM messages",
[],
function(row) {
row_id_max = row.rowid;
@ -183,20 +183,21 @@ async function getRecentPostIds(db, id, ids, limit) {
[].concat([f.rowid, row_id_max], ids_batch, [limit]),
function(row) {
if (row.id) {
recent.push(row.id);
recent.push({id: row.id, timestamp: row.timestamp});
}
if (row.rowid) {
f.rowid = Math.max(row.rowid, f.rowid);
}
});
}
f.recent.sort((x, y) => x.timestamp - y.timestamp);
f.recent = [].concat(recent, f.recent).slice(0, limit);
f.recent = [].concat(recent, f.recent);
f.recent.sort((x, y) => y.timestamp - x.timestamp);
f.recent = f.recent.slice(0, limit);
var j = JSON.stringify(f);
if (o != j) {
await db.set(id + ":recent_posts", j);
}
return f.recent;
return f.recent.map(x => x.id);
}
async function getVotes(db, id) {