fix: closes #13275, set 'announces' after adding to zset to prevent race condition

This commit is contained in:
Barış Soner Uşaklı
2025-04-01 10:55:03 -04:00
parent d9f33204a8
commit 2c59007b10

View File

@@ -512,9 +512,11 @@ Notes.announce.list = async ({ pid, tid }) => {
};
Notes.announce.add = async (pid, actor, timestamp = Date.now()) => {
const tid = await posts.getPostField(pid, 'tid');
await Promise.all([
const [tid] = await Promise.all([
posts.getPostField(pid, 'tid'),
db.sortedSetAdd(`pid:${pid}:announces`, timestamp, actor),
]);
await Promise.all([
posts.setPostField(pid, 'announces', await db.sortedSetCard(`pid:${pid}:announces`)),
topics.tools.share(tid, actor, timestamp),
]);