But you agree that year old posts being inserted as new is a terrible idea!
The opposite of that is to keep chronology so that when a duplicate topic is created by someone and merged to an established topic, the new post gets put it at the right point.
The existing behaviour shoves the posts in a totally random point … in my case about 200 posts back and ‘2 years ago’ despite having dates of ‘1 day ago’.
In addition to this, when listing the posts in latest or category view, the most recently dated post (which comes from the newer merged thread) is marked … but it’s actually buried in the thread way earlier.
Just experienced this and agree that it is a difficult problem. Had two parallel discussions on exact same topic and interleaving merged list according to chronology looks like it might have worked better. Latest post to original (merged into) topic is now quite a ways up in the thread. Tradeoff hard to analyze at glance.
I’m looking to insert moved posts to the last post on an existing topic. Seems this is not possible, so moved posts appear out of order and are listed after the original post in the existing topic.
Merging topics maybe isn’t usually a great idea, but I’d expect the posts to be displayed chronologically.
The current way is almost like threading (the original first post and its replies, followed by the parachuted-in first post and its replies, followed by subsequent posts) and, based on my understanding at least, goes against the spirit if not the letter of the Discourse philosophy.
As it stands, closing one topic and displaying some sort of admin notice at the top of both topics, drawing attention to the other topic, might often be a better approach.
We’ve noticed this oddity too. I think the mental model our users have is that threads are by definition a chronological list of replies. Whether I’m replying to a new post or a post that’s months old, my reply goes at the end. Merging topics beaks that model since a portion of the thread gets inserted into the timeline at whatever point the moderator merges.
In the abstract, I can see the reasoning for the current behavior: it maintains the integrity of the conversation within the merged-in topic. But it also raises the question of why topics are merged in the first place.
In the case of our community, we want to consolidate discussion about a discrete topic in one thread. For instance, we want one topic for people to report whether or not they were admitted to Ohio State’s class of 2025. If someone starts a new thread, it’ll get merged into the official topic. The replies are often independent of other replies in the thread. Most of the time people use the “Reply” button to respond to a particular post, so it’s not quite so important that replies are close to each other on the page.
If the replies were tightly linked together, I’m not sure there would be a need to merge threads. Instead, it makes sense to reply in one thread with a link to the other. Or maybe both directions. And perhaps close one of the threads. Merging implies that the two topics overlap to a large degree. There are other (and better) tools for dealing with parallel conversations.
At any rate, I’m just adding a data point: this implementation of merging is difficult to fit into the mental model our users have and makes the feature somewhat less useful than it could be if the replies were ordered chronologically.
Maybe someday there could be an option in the topic’s menu to “Sort Posts By Date”?
That way, the default remains the same, with posts merged in at the end. If an admin thinks that topic is better served by those posts being woven into the old discussion, a quick click of such an option would take care of it as needed.
I had a need to use this for some email threads that were split into separate topics during import so I thought I would elaborate on this in case anyone else also needs it. You’ll need to be able to access the command line on the server running your Discourse instance.
Start by moving all the desired posts into the target topic, then get the topic ID. In the address bar you might see something like the following, where the topic ID is 24855: /t/topic-slug/24855/9
On your server, enter the Discourse app with the following commands. You may need to clear some space if you have less than 5GB available.
cd /var/discourse
./launcher enter app
If that is successful, you can then reorder the posts by their timestamps with the following command, replacing the topic ID as appropriate.
I am also very interested in this! At least in our forum we often restructure whole discussions into new topics since they often go offtopic. Also we often move posts for SEO reasons whenever a “moved+closed” topic ranks better than the follow-up one.