Edit Conflict: That post was edited by another user and your changes can no longer be saved

If I try to edit a post which I have just created, I get the following error:

That post was edited by another user and your changes can no longer be saved

eg:

The “Save Edit” button also renames itself to “Overwrite Edit”.

This has only started happening since I updated on Friday to “2.8.0.beta2” ( 4681c670c0 )

If it helps, I update weekly, so this is a new issue which has appeared between Friday 4th June 2021 and Friday 11th June 2021.

It happens here on meta too (as per my screen shot).

I cannot work out the pattern to it. It does not happen every time, just sometimes :thinking:

Several of our users have reported this too.

9 Likes

5 Likes

Sounds like the exact same issue :+1:

Just happened again right here!

2 Likes

A few of us on the team have seen this as well. We’re aware and looking into it.

9 Likes

Yes I just got one of these today, @nbianca is going to have a look.

3 Likes

The topic Error message when editing posts is a duplicate of this one.

1 Like

Ok so this is fully fixed with FIX: Update raw and cooked immediate after edit by nbianca · Pull Request #13387 · discourse/discourse · GitHub @nbianca ?

9 Likes

Yes, all known problems are fixed.

8 Likes

Fantastic, thank you!

5 Likes

This is now merged, should be live here in a 20-30 minutes.

10 Likes

Unfortunately this is not yet fixed. My users are still getting the overwrite edits message and I just saw it myself. Running 2.8.0.beta2 ( 0f9d31a85e ).

On another note, when trying to upload the first screenshot to meta.discourse I just got an error

PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "uploads_pkey"

Retrying it worked.

1 Like

I too can still reproduce this here on Meta.

5 Likes

@nbianca this was very hard to isolate but I have a 100% consistent repro.

Make a post with the text:

hello world 123 hello world

Make sure there is a trailing space after the final world word.

Type in world SPACE

Then quickly try to edit your post adding a few letters to the end.

Something about our internal logic is “stripping” trailing and leading spaces and then tripping up the algorithm that detects that a post changed.

10 Likes

I tested this so long, but never thought about adding spaces. I was focused on timing rather than on content.

The PR above will let the server return the raw and use that to update the post record.

13 Likes

I’m impressed you found it, given what it was! So far the fix looks good, thanks again everybody.

1 Like

Sorry, not fixed @nbianca . The exact sequence @sam noted still triggers the bug. Running 2.8.0.beta2 ( 0c42a29dc4 ).

And in fact I just got the error editing this very post on meta.discourse.

Is there anything special you did about this? Did you post and then tried to immediately edit the post or did you wait some time (refresh the page) and then attempted to edit?

Did your post have any whitespaces like before?

1 Like

For testing on my own site, I followed Sam’s instructions. For here, I went to edit in your tag and got the error.

Hmm, I have an easy repro on try.discourse.org … post, then edit and add characters, I get

That post was edited by another user and your changes can no longer be saved.

I’m a little worried about this code path if we’re breaking it so easily and having such trouble fixing it :cry:

6 Likes