mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix(topic-events): repeated invocations of Posts.addTopicEvents caused dupes to be added to DOM
This commit is contained in:
@@ -285,6 +285,10 @@ define('forum/topic/posts', [
|
||||
return;
|
||||
}
|
||||
|
||||
// Filter out events already in DOM
|
||||
const eventIdsInDOM = Array.from(document.querySelectorAll('[component="topic/event"]')).map(el => parseInt(el.getAttribute('data-topic-event-id'), 10));
|
||||
events = events.filter(event => !eventIdsInDOM.includes(event.id));
|
||||
|
||||
let postTimestamps = ajaxify.data.posts.map(post => post.timestamp);
|
||||
|
||||
const reverse = config.topicPostSort === 'newest_to_oldest';
|
||||
|
||||
@@ -126,6 +126,6 @@ Events.log = async (tid, payload) => {
|
||||
events: [payload],
|
||||
});
|
||||
|
||||
({ events } = plugins.hooks.fire('filter:topic.events.log', { events }));
|
||||
({ events } = await plugins.hooks.fire('filter:topic.events.log', { events }));
|
||||
return events;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user