Allow posters to revert a post / access raw previous data

Hello discourse devs!

I frequent a forum that uses your software and generally find it quite nice! However, I have one pet peeve that I wonder if it would be possible to address:

For context, the forum I frequent uses the software to asynchronously play a turn-based card game. As such, we post very similar looking posts back and forth to “play our turns”, which typically involves:

  • Copying a previous post for format
  • Editing that post for the events of the new turn
  • Posting the edit as a reply

This means that I often forget to copy first, hit reply, then edit, and instead just start editing a previous post. When I do this, I am unable to easily unroll those changes to the previously existing turn. Thus, I end up with edit histories like this in this post.

It would greatly benefit me, as a user, to easily either:

  • revert a post to a previous edit, via the UI, or at the very least
  • have a json api to access previous revisions as raw post data (not the body_changes.side_by_side table rendered HTML, something where I can easily copy + paste the old version into a new edit)

I welcome feedback, pushback as to why this isn’t worthwhile, or scrutiny in other forms, and very much appreciate any time you dedicate to considering this issue. Thank you very much!

I am not totally following here.

So you edit your own old post, just to grab the raw post content… but forget a step and actually edit the old post when you meant to only copy it, and start a new post?

My exact steps are, when done correctly:

  1. Open my previous post for editing (to copy the raw contents)
  2. Close my previous post without any changes ( I just wanted the raw content)
  3. Hit “reply” to the latest post (a turn taken by my opponent)
  4. Paste the contents of my the previous post into the new reply (as the formatting of the post is largely identical, to communicate game state; some values and sections are changed)
  5. Start changing the reply (starting from the exact contents of the old post) to reflect my new turn (I change the title to reflect the current turn number, change various sections to reflect new turn state and actions, etc).

However, sometimes I skip steps 2-4 by accident (the UI for editing an old post and starting a new post look largely the same, minus the “Reply” vs. “Save Edit” CTA button). Sometimes I notice that the CTA is changed, copy the new post, close the edit (that I’ve put new contents into) so that it doesn’t overwrite, then execute steps 2-4. There’s no problem if I remember to do that. It’s just when I accidentally hit “Save Edit” that my previous post is very difficult to reproduce.

So, I end up editing the previous post with my new post contents (again, from a raw perspective the contents look very similar, see the example I linked), and I am unable to revert it easily.

Does that make sense?

1 Like

it does, maybe try this:

https://meta.discourse.org/raw/119487

That is, delete the middle part of the URL and replace with “raw”

https://meta.discourse.org/raw/119487/3

2 Likes

So that does indeed work great for getting the raw post data for the current revision of a given post in the thread, but not any previous revisions. I am looking for the raw data of the previous revision (so like for https://meta.discourse.org/raw/119487/3, how do I access the raw data of the previous edits?)

Is there a way to provide not just the post ID or thread id + post index, but also revision index?

I think you can use the raw link instead of clicking to edit the post.

Your steps would be:

  1. Open my previous post using the raw link (to copy the raw contents, could be opened in a new tab)
  2. Hit “reply” to the latest post (a turn taken by my opponent)
  3. Paste the contents of my the previous post into the new reply (as the formatting of the post is largely identical, to communicate game state; some values and sections are changed)
  4. Start changing the reply (starting from the exact contents of the old post) to reflect my new turn (I change the title to reflect the current turn number, change various sections to reflect new turn state and actions, etc).

This way you can avoid editing old posts by mistakes.

For example, you can access https://forums.sirlingames.com/raw/5935/210 (related to the post https://forums.sirlingames.com/t/casual-codexnewb-mono-blue-vs-frozenstorm-fire-past-peace/5935/210) to create the next one.

For the post you edited by mistake, I think you could copy the raw content of the previous post and adjust it based on the history of the wrong post (it would be just 1 time, for the new posts you could follow the steps above to avoid editing by mistake).

1 Like

Hmm, that would make it less likely to mess up I suppose, but still I’m looking for a feature to allow reverting an accidental edit.

Yes, and I have done that in the past, and actually it takes a lot of time to do this. That’s why I’m wondering if this is a feature that’s easy to add (I figure the code to revert a post must exist already, as the functionality is available to staff), as this happens to me once or twice a minute, and yea accidentally doing it loses me 10-15 minutes to fix it, which for a recreational activity kinda sucks.

I understand if this isn’t a high priority or isn’t worth doing, but I thought I can’t be the only person that has this problem, and if the “revert post to previous edit” functionality is already available to staff, why wouldn’t it be made available to a poster for his/her own usage?

1 Like

Bumping this because

  1. People could in theory just edit a post back if they had the old raw data on hand, so this is exclusively a QoL feature to allow them to go back to edits they no longer have the raw data for

  2. Mods already have this capability, so it surely already exists, and should not take much work to extend it to the original author of a post

  3. Based on the above two points I can think of no reason it shouldn’t be enabled, as it seems well worth the effort of merely extending permission of this feature to the author of a post