I had started a draft for a new thread, and not written any content. Later, I tried to reply in a different thread, but my reply somehow got taken as the OP for the new thread. I deleted that and managed to work my way back to the thread where I wanted to reply, but I couldn’t just copy-paste the text as “An error occurred: Body is too similar to what you recently posted”.
This is quite vexing. The interface seems to find all sorts of ways to trip me up while ostensibly trying to be helpful - especially if I have multiple tabs open for the forum.
As @jeanas mentioned, you’re better off asking on Meta, since I don’t think there’s anything we can do about it here, though a number of Discourse folks keep an eye on this category and comment on things sometimes.
I can try to explain what probably happened, though…you:
Started a draft for a new post
Then navigated to an existing thread
Didn’t click Reply in that thread, so your open draft was still for a new post
Entered what you intended to reply to that thread in the existing new post draft
Submitted that as a new thread, which you then copied and deleted
It then wouldn’t let you post the same comment as a reply as you already posted it as a thread
The main point of confusion appears to be that the compose box looks nearly identical for new posts and replies, so it wasn’t clear to you that you’d be creating a new post rather than replying, especially when you hadn’t already entered text. There are a couple things the UI could maybe do to make this more clear, perhaps. Also, it seems like the same comment detector could use having an exception if the previous comment was deleted and redone once,e.g. wrong thread, new thread, etc.
From a user side, the key point is that you need to actually click the reply button in order for the message to be a reply to something; navigating to a thread doesn’t automatically dismiss whatever current draft you’re working on and open up a reply to that thread.
For me, the main frustration is that I can only have one draft in progress at any time. I often end up starting a reply to a complex topic, and leaving it part-finished for a while (often a number of hours) as I try to formulate my thoughts clearly. Not being able to make quick replies in other topics while that’s going on is a little frustrating for me.
I’ve adapted my workflow to deal with this, but I’d have preferred it if I hadn’t needed to…
Agreed. It’s annoying and unnecessary to copy and paste a partial post to a text file just because multiple independent tabs conflict with one another. Discourse also manages to get nicely confused - or is frustratingly designed, not sure which - if you open up another tab with the same thread that you already had a half-written reply in.
Agreed also, that’s by far my biggest pain point as well. It’s also really annoying that the same thing happens if I need to edit a comment in a thread that I’ve also replying to, I have to discard one or the other. Like you I’ve more or less adapted to this by copying and pasting things from my text editor scratchpad and restructuring my flow, but its still somewhat frustrating and seems like it can’t be that hard to fix.
Yeah, I get really paranoid about this since I’ve occasionally lost long messages to it before (more often on GitHub, though) or it complains and locks one or the other. I understand that’s a more difficult problem to solve (concurrency), though.
It IS difficult, but it oughtn’t to be impossible, and it’s a rather valuable use-case (picture a long thread, 2+ monitors, and an attempt to respond to several different posts at once, and you’ll easily see the value of opening multiple tabs with the same thread). With plain old email, this sort of thing is trivially easy. If Discourse is supposed to be a replacement for mailing lists, it really needs to be at least mostly as good as them.
Oh, what I meant with the latter response was editing a reply to the same post in two different windows. The former problem seems to basically be that Discourse is storing replies by thread and not something more fine-grained, like per comment/reply target. If that were fixed, then we’d be able to do pretty much everything we talk about no problem, except actually editing the “same” reply to the same target in two different windows (which is where the concurrency issue arises).