mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
fix: closes #13275, set 'announces' after adding to zset to prevent race condition
This commit is contained in:
@@ -512,9 +512,11 @@ Notes.announce.list = async ({ pid, tid }) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Notes.announce.add = async (pid, actor, timestamp = Date.now()) => {
|
Notes.announce.add = async (pid, actor, timestamp = Date.now()) => {
|
||||||
const tid = await posts.getPostField(pid, 'tid');
|
const [tid] = await Promise.all([
|
||||||
await Promise.all([
|
posts.getPostField(pid, 'tid'),
|
||||||
db.sortedSetAdd(`pid:${pid}:announces`, timestamp, actor),
|
db.sortedSetAdd(`pid:${pid}:announces`, timestamp, actor),
|
||||||
|
]);
|
||||||
|
await Promise.all([
|
||||||
posts.setPostField(pid, 'announces', await db.sortedSetCard(`pid:${pid}:announces`)),
|
posts.setPostField(pid, 'announces', await db.sortedSetCard(`pid:${pid}:announces`)),
|
||||||
topics.tools.share(tid, actor, timestamp),
|
topics.tools.share(tid, actor, timestamp),
|
||||||
]);
|
]);
|
||||||
|
|||||||
Reference in New Issue
Block a user