From eb0aa6d8bdf989e37853aece80da574879c1b2ec Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 13 Feb 2026 11:27:56 -0500 Subject: [PATCH] fix: render new post in feed when posting via quick create --- public/src/client/world.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/public/src/client/world.js b/public/src/client/world.js index 17ef935860..014e41315a 100644 --- a/public/src/client/world.js +++ b/public/src/client/world.js @@ -9,13 +9,8 @@ define('forum/world', [ translator, quickreply) { const World = {}; - $(window).on('action:ajaxify.start', function () { - categoryTools.removeListeners(); - }); - World.init = function () { app.enterRoom('world'); - categoryTools.init($('#world-feed')); quickreply.init({ route: '/topics', body: { @@ -28,6 +23,14 @@ define('forum/world', [ handleButtons(); handleHelp(); + categoryTools.init($('#world-feed')); + socket.on('event:new_post', onNewPost); + $(window).one('action:ajaxify.start', function () { + categoryTools.removeListeners(); + socket.removeListener('event:new_post', onNewPost); + }); + + // Add label to sort const sortLabelEl = document.getElementById('sort-label'); const sortOptionsEl = document.getElementById('sort-options'); @@ -217,5 +220,15 @@ define('forum/world', [ }); } + async function onNewPost({ posts }) { + const feedEl = document.getElementById('world-feed'); + const html = await app.parseAndTranslate('world', 'posts', { posts }); + if (!feedEl || !html) { + return; + } + + feedEl.prepend(...html); + } + return World; });