UX: Warn users if the post that's currently edited has changed. (PR #6498)

GitHub

You’ve signed the CLA, nbianca. Thank you! This pull request is ready for review.

This is very cool

Any reasons we’re not always sending the originalText? Conflicts are not limited to wiki posts.

      raw_old: this.get("originalText"),

:+1:

The “double negation” feels weird.

    if raw_old.present? && raw_old != post.raw

There should be a test for that :wink:

There should be a spec for that.

Maybe this instead?

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

The absence of raw_old will skip the check on server side.

First time raw_old will be sent so the server can check if there is a problem. The second time (after a editConflict happened) raw_old will not be sent anymore which will bypass the check and overwrite the content.

However, I do agree that it could work for all posts, not just wiki. The spec mentioned only these and I meant to ask you about it. :slight_smile:

The code itself explains the behavior quite clearly so I’m not sure if we really need this comment here.

We have a pattern for rendering json errors, you can have a look at render_json_error

Hmm this is never saved so the raw that the controller is seeing is different.

Ah, yes. It’s actually not needed at all. The test only requires raw_old and the actual post content to be different.

1 Error
:no_entry_sign:

This PR doesn’t match our required code formatting standards, as enforced by prettier.io. Here’s how to set up prettier in your code editor.

test/javascripts/acceptance/composer-edit-conflict-test.js.es6

Generated by :no_entry_sign: Danger

Fixed and also changed one more occurrence of the same pattern above.

Thanks!

:+1: