From 1e53552874db7da8907e1f9af7c39e5b0e07d6b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 26 Nov 2021 17:08:47 -0500 Subject: [PATCH] feat: closes #10018 --- src/topics/events.js | 8 ++++---- src/topics/fork.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/topics/events.js b/src/topics/events.js index 3227c76868..8dc2381fdf 100644 --- a/src/topics/events.js +++ b/src/topics/events.js @@ -60,7 +60,7 @@ Events._types = { }, fork: { icon: 'fa-code-fork', - text: '[[topic:forked-by]]' + text: '[[topic:forked-by]]', }, }; @@ -159,7 +159,7 @@ async function modifyEvent({ tid, uid, eventIds, timestamps, events }) { Events.log = async (tid, payload) => { const topics = require('.'); const { type } = payload; - const now = Date.now(); + const timestamp = payload.timestamp || Date.now(); if (!Events._types.hasOwnProperty(type)) { throw new Error(`[[error:topic-event-unrecognized, ${type}]]`); @@ -171,12 +171,12 @@ Events.log = async (tid, payload) => { await Promise.all([ db.setObject(`topicEvent:${eventId}`, payload), - db.sortedSetAdd(`topic:${tid}:events`, now, eventId), + db.sortedSetAdd(`topic:${tid}:events`, timestamp, eventId), ]); let events = await modifyEvent({ eventIds: [eventId], - timestamps: [now], + timestamps: [timestamp], events: [payload], }); diff --git a/src/topics/fork.js b/src/topics/fork.js index 8a4ece7bad..59eb95b783 100644 --- a/src/topics/fork.js +++ b/src/topics/fork.js @@ -70,7 +70,7 @@ module.exports = function (Topics) { downvotes: postData.downvotes, }), db.sortedSetsAdd(['topics:votes', `cid:${cid}:tids:votes`], postData.votes, tid), - Topics.events.log(fromTid, { type: 'fork', uid, href: `/topic/${tid}` }) + Topics.events.log(fromTid, { type: 'fork', uid, href: `/topic/${tid}`, timestamp: postData.timestamp }), ]); plugins.hooks.fire('action:topic.fork', { tid: tid, fromTid: fromTid, uid: uid });