diff --git a/js/src/forum/components/DiscussionPage.js b/js/src/forum/components/DiscussionPage.js index 6adb835ae..c5812bf39 100644 --- a/js/src/forum/components/DiscussionPage.js +++ b/js/src/forum/components/DiscussionPage.js @@ -155,7 +155,7 @@ export default class DiscussionPage extends Page { record.relationships.discussion.data.id === discussionId ) .map((record) => app.store.getById('posts', record.id)) - .sort((a, b) => a.id() - b.id()) + .sort((a, b) => a.createdAt() - b.createdAt()) .slice(0, 20); } diff --git a/js/src/forum/states/PostStreamState.js b/js/src/forum/states/PostStreamState.js index add0cf5e5..d4d73b5fb 100644 --- a/js/src/forum/states/PostStreamState.js +++ b/js/src/forum/states/PostStreamState.js @@ -282,7 +282,13 @@ class PostStreamState { } }); - return loadIds.length ? app.store.find('posts', loadIds) : Promise.resolve(loaded); + if (loadIds.length) { + return app.store.find('posts', loadIds).then((newPosts) => { + return loaded.concat(newPosts).sort((a, b) => a.createdAt() - b.createdAt()); + }); + } + + return Promise.resolve(loaded); } /**