forked from cory/tildefriends
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:
@ -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) {
|
||||
|
Reference in New Issue
Block a user