I did think of the time factor, but it lead to an impasse when considering our own tickets. For example, I have these two cases (fake ticket numbers, just to give you an idea):
User files ticket 12345. At some point he gets confused, posts ticket 12389 as a reply, then we continue our conversation in 12345. Intended merge: keep 12345 intact, move posts from 12389 into it.
User files ticket 12345 with wrong title and missing information. User immediately closes 12345 and files ticket 12346 with the correct title, the missing information but not the problem description which is in ticket 12345's sole post. Intended merge: keep 12346 and move posts from 12345.
It gets a bit hairy when I reply to 12345, Dale replies to 12346 and we figure out that it should be one ticket. If I remove ticket 12346 Dale doesn't get credit for his worked hours.
So, really, merging tickets is not straightforward. It's like merging keyed arrays (name-value pairs) in every programming language: if you're not too careful which one is merged into which other you end up with the inverse result than what you intended. Considering that ticket merge is a catastrophic process –as in "data gets irreversibly modified in the database"– we can't really implement it. Not to mention that if you do accept replies by email you are beyond screwed once you merge tickets: your client WILL reply to the wrong ticket by email. It's kind of a law of the Universe... :(
That's how we ended up with Manager Notes. If some important bit of info needs to be transferred to the "main" ticket (whatever that is...) we put it in Manager Notes. Then we close the "wrong" ticket with a final post that the conversation is to be carried on in the "main" ticket, complete with a ticket number and a link.
As for replies on behalf of a user, well, that's not a convenient thing to program into the system. It gets so complicated in so many aspects of the software that it's bound to create far more problems than it solves. You wouldn't know all the complications the seemingly simple "ticket on behalf of user" feature carries with it. To this day, nearly a year later, there are still issues related to this and the email feature which cannot be fixed without screwing up the regular emails we send out to administrators and regular users. The only reason we keep this feature is that if you do not have the correct ownership of the ticket itself then the user cannot reply at all. This is far more serious than getting an administrator email when you shouldn't be receiving it so the feature stays in.
There's always the low-tech solution you're currently employing, file a reply noting "Replied from user X; added by RKC". This is actually the most convenient and least error-prone way to do it.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!