38

I'm reporting the following bug per Shog9's request.

Consider the following scenario:

  1. You edit any post on a SE site where you have edit privileges.

  2. In a second edit within the grace period of the first, you revert all changes you made (character by character, not a rollback) .

The post is now the same as it was before, but neither edit appears in the revision history. It looks like the post has never been changed.

Possible implications:

  • If somebody vandalizes the post and it gets severely downvoted before the edit gets undone and nobody rolls the edit back, there's no history of what happened.

  • This allows 2k users to undo or reverse up- and downvotes in a concealed manner.

16
  • 2
    ... I just had to try it. and succeeded. Muahahahah.
    – Matt
    Commented May 22, 2012 at 15:23
  • 10
    This isn't by-design? I thought this was well-known. Using it to undo votes never occurred to me.
    – Jeremy
    Commented May 22, 2012 at 15:39
  • 5
    ... that's a bug? Sounds kinda like a feature to me. If someone reverts themselves within the grace period, there's no real point in keeping an empty revision around.
    – a cat
    Commented May 22, 2012 at 15:40
  • Also, I've reported the inconsistent behavior with rollbacks vs. manual undos. Jeff Atwood acknowledged (or at least read) it, so again, I doubt this is a bug.
    – a cat
    Commented May 22, 2012 at 15:44
  • Waiting for a response from the person who implemented this as to what it was intended to accomplish. Frankly, I can't see a feature that allows you to completely erase your tracks in this way as anything other than a bug.
    – Shog9 Mod
    Commented May 22, 2012 at 15:47
  • 1
    @Shog9 Reducing clutter, maybe. If someone notices their edit was wrong immediately after the fact, they can just undo it and it's gone. Plus the unnecessary bump is undone as well.
    – a cat
    Commented May 22, 2012 at 15:51
  • @Shog9 Would indicating that someone changed nothing really make any difference, though? Unless we do away with the edit grace period entirely, showing a new revision would just show that the user didn't change anything.
    – Tim Stone
    Commented May 22, 2012 at 15:58
  • @Tim: since revisions that change nothing are never actually applied, you know that someone edited the post and then retracted their edit. "This post was nothing but Zalgo when I first saw it, I swear!" - oh, it was edited and then retracted, that explains it.
    – Shog9 Mod
    Commented May 22, 2012 at 16:01
  • 4
    I actually do this all the time. Not do it to reverse votes, but do it to undo dud edits (like what @lunboks said). Commented May 22, 2012 at 16:02
  • Not just the unnecessary bump, but it also avoids taking the post a step closer to CW (which is meaningless these days) Commented May 22, 2012 at 16:14
  • @Shog9 Why is that helpful, though? If you actually saw the edited content in the first place, you also saw who edited the post (or weren't bothered by the edit enough to pay attention). If you didn't see the edit, knowing that someone undid their edit only tells you that someone undid their edit, not if the edit had any relation to either of the concerns in this post. Plus, knowing a retracted edit would be on the record, you could just undo it with a minor, valid edit instead, which wouldn't be suspicious.
    – Tim Stone
    Commented May 22, 2012 at 16:21
  • 1
    Any entry in the revision history implies at most a 5-minute window where the content of the post was being altered, @Tim. It offers at least a plausible explanation for any oddities observed in that time. Now show me a post that's two years since the last modification, and tell me you saw it on the front page with something weird on it. I check the revision history and tell you you're crazy... Except, you might not be. It might have been edited. Heck, it might have been edited dozens of times. As long as those edits were carefully retracted within that window, there's no trace.
    – Shog9 Mod
    Commented May 22, 2012 at 16:26
  • 2
    If we're really concerned about the potential for those oddities though, @Shog9, then there should be a full audit trail of edits available on some moderator route (or /timeline, or whatever). Adding a blank entry to prove that something plausibly happened just seems like an odd solution to me, especially since I feel like this is much more often used to undo a mistaken edit than to commit short-lived vandalism. As a side note, I take screenshots of things I find to be odd, but I admit there's no reason to expect that everyone else would.
    – Tim Stone
    Commented May 22, 2012 at 16:37
  • Why don't we just keylog everything? Commented May 22, 2012 at 16:52
  • When doing this to temporarily vandalize for a strategical reason, I'd say that someone editing after you (within the grace period) would lock-in your abusive edit after all? Sounds quite dangerous to me. (And as an aside: the edits might be stored, just not visible. But I don't know for sure.)
    – Arjan
    Commented May 22, 2012 at 17:25

2 Answers 2

29

This has been addressed and should be in the next build.

We tried the exploding computer trick, but testing got expensive. After that, we decided to have these kinds of edits that occur within the grace period leave a revision behind, but with a comment ("Edit removed during grace period") indicating that the edit was a "grace-period reversion". The grace period itself has not been changed.

https://i.sstatic.net/CkPsC.png

18
  • 12
    Addressed how? Anyone attempting it will have their computer explode? No more grace period?
    – blahdiblah
    Commented May 16, 2013 at 23:23
  • Can I test it on your answer? (jk)
    – ɥʇǝS
    Commented May 17, 2013 at 3:10
  • On another note, maybe you want to tag this status-complete?
    – ɥʇǝS
    Commented May 17, 2013 at 3:10
  • @Seth, I'll mark it as status-complete when it has been deployed to Meta. That should happen sometime in the next day or two.
    – Ben Collins Mod
    Commented May 17, 2013 at 4:20
  • Nicely done! Commented May 20, 2013 at 11:51
  • 2
    Do these removed-during-the-grace-period edits that now show in the history still count towards the auto-community-wiki stuff? It seems like they shouldn't, since the edit was retracted...
    – animuson StaffMod
    Commented May 20, 2013 at 12:41
  • @animuson yes, it counts, but remember that there can only ever be a single revision created during the grace period.
    – Ben Collins Mod
    Commented May 20, 2013 at 15:30
  • This is what happened when I edited something out during grace period and edited it back in judaism.stackexchange.com/revisions/28878/2 Can we have a grace period for grace periods?
    – Double AA
    Commented May 21, 2013 at 1:53
  • 1
    @DoubleAA that's the intended behavior. There is still only one grace-period revision, but it shows that some prior edit was reverted first.
    – Ben Collins Mod
    Commented May 21, 2013 at 5:18
  • This new feature does not apply to rollbacks (by the same user). (Proof.) Shouldn't it?
    – msh210
    Commented May 28, 2013 at 17:37
  • @msh210 how do you mean? Can you describe what you did and the expected result?
    – Ben Collins Mod
    Commented May 28, 2013 at 17:44
  • @BenCollins, I made an edit, went to the revisions list, clicked "rollback" to the edit before mine, and confirmed that I wanted to rollback. This was all within a five-minute span. Now that the removed-during-grace-period note exists for manually reverted edits, it makes sense to use it for rolled-back edits also: but the actual result was two revisions in the history.
    – msh210
    Commented May 28, 2013 at 17:55
  • 1
    @msh210 I think that's a different scenario, really. The point of the grace period note is just to indicate that someone made a revision of some kind during the grace period so that undone edits can't just happen invisibly. If you edit a question and then 60 seconds later go rollback a prior revision and then leave your edits for a few minutes, a revision is created showing what you did. No grace period note is necessary.
    – Ben Collins Mod
    Commented May 30, 2013 at 3:30
  • -1 I fail to see the need for this change. See my comment under Shog9's answer. Commented May 30, 2013 at 21:31
  • @BenCollins, What does "exploding computer trick" mean?
    – Pacerier
    Commented Jun 14, 2015 at 20:11
25

To clarify why I view this a bug, consider that the "grace period" for edits is already a compromise: unlike many wiki systems, Stack Exchange does not have any notion of "minor" edits, changes that don't fundamentally alter the meaning of a post. We encourage substantive edits, but of course mistakes do happen - so to prevent mile-long revision histories, the 5-minute grace period allows quick fixes to be made shortly after creating or revising a post without adding a new revision.

These "stealth edits" are lies. Each actual revision is visible, albeit for only a short time, live on the site... But the revision history doesn't reflect them. With the new real-time updates, you can sit and watch a post as it is edited, reloading each new revision, with only the final version tracked in the history. It's philosophically dishonest, but extremely practical. And although new users are occasionally confused by it, it's easy to use (and abuse for fun and profit) and considerably more simple than a true minor edit system.

So while every edit may not create a revision entry, every editor will have at least one revision entry for every five minutes of editing. That's still a fairly simple system to grasp.

Until you throw in the ability to completely destroy a revision within that grace period.

For the record: a tool does exist within the system to destroy a revision - any revision - permanently. It's used in cases where someone inadvertently posts sensitive information - the username and password to their production database, or a credit card number. It's considered so dangerous that even moderators don't have access to it. Why? Because it changes history.

This particular "feature" is much less dangerous. You can destroy at most five minutes of history, and any other editor who intervenes will thwart even that. But when it works, the effects are every bit as chilling: there is literally no trace remaining that you've ever even touched the post.

Frankly, this is so shocking to me that I never considered for a moment that it would even be possible. I assumed the folks referencing it here were just being casual and/or confused in their descriptions of how the grace period worked.

Most ironic though was the suggestion that this can be used to silently retract locked votes. For those who've forgotten: vote-locking was implemented to discourage so-called "strategic voting", where a competing answer would be downvoted and then the vote retracted later. This bug not only removes what little efficacy that might have once had, but introduces the specter of strategic editing.

Has this ever happened? Probably not. Hopefully not. But it's kinda hard to tell, since if it did any evidence would've been destroyed.

18
  • 3
    If a user ninja-undoes their edit, the only use case that I can see for stamping a revision is a vote change. Some ninja undoes are fairly useful; sometimes I unilaterally close a post, but then change my mind and reopen it. If I'm the sole voter, there's no record of that, nor does there need to be.
    – user102937
    Commented May 22, 2012 at 17:23
  • 2
    I don't really view the vote reversals as a problem. You need 2k rep to do it in the first place, and taking away the revision destruction wouldn't really help either. People could make minor edits instead, or indeed just continue the bogus-edit-then-undo strategy. It's not like that null revision that would stay would prove anything. Moderators still can't see who voted.
    – a cat
    Commented May 22, 2012 at 17:28
  • 3
    @RobertHarvey - No, there absolutely needs to be a record of that, for the same reasons that Shog9 espoused about record-less edits. Fortunately, there is, it's just on the /posts/<post ID>/timeline secret record page. For example, I just closed and reopened this question on the meta of a site where I'm a mod. You can't see it unless you go to the timeline. Commented May 22, 2012 at 17:31
  • 3
    I too don't think that the vote reversal is that big a deal to worry about. If you fix it, people will come up with ways to work around it. Just off the top of my head, a way around would be to submit a good edit anonymously (and wait till it is approved by someone else) and you can easily change your vote without it ever being recorded that you had anything to do with it... If you want to abolish this corner case (I suspect very few actually abuse it), then you might as well post the names of each downvoter under the question. There probably are other things to worry about/improve than this. Commented May 22, 2012 at 17:33
  • @Robert: there's a record of close/reopen even if you're the only voter and it happens immediately. There's just no link to the revision history unless someone also edits the question, since close/reopen doesn't revise the post (yeah, yeah, there's some weirdness WRT duplicates but let's ignore that).
    – Shog9 Mod
    Commented May 22, 2012 at 17:37
  • 2
    @yoda - Who cares? You've improved the post. I just changed Shog9's entire answer to "This is a bad bug, but even vandalism must be 30 characters." with an edit summary of "totally vandalized the post." (Interestingly, this doesn't show up in my activity/revisions at all). It was live for maybe 30 seconds, but I reverted it and now there's no history of that vandalism. Vote reversals aren't the issue. Commented May 22, 2012 at 17:39
  • 3
    @KevinVermeer: But there is a record if someone else has to reverse the vandalism. If a user reverses their own vandalism within the five-minute window, who cares? We made that tradeoff when we created the grace period. Now everyone is up in arms about it? I don't get it.
    – user102937
    Commented May 22, 2012 at 17:52
  • 5
    I do. I care if someone else does it, I care if I see it, I care if other users have to see it, and I especially care if I get a flag-for-moderator-attention that some ordinarily trustworthy 2k+ user just edited nonsense/spam/pornography into a post but there's no record of anything happening. Vandalism is vandalism regardless of how long it lasts. Commented May 22, 2012 at 17:58
  • @KevinVermeer: Then what you need is a developer/moderator only history of every revision that takes place during the grace period. I personally don't think we need that; if the user can correct the problem within the five minute window, I say no harm no foul.
    – user102937
    Commented May 22, 2012 at 18:01
  • This "strategic edit" will still bump the question, won't it? I mean it certainly bumps it before the grace period is up, seems ripe for abuse.
    – Zelda
    Commented May 22, 2012 at 18:52
  • 1
    @BenBrocka The question gets un-bumped after the revision is destroyed. (I've used this to test posts in the Formatting Sandbox, then deleted my edit to unbump the sandbox so it doesn't clutter others' front page.)
    – Jeremy
    Commented May 22, 2012 at 19:34
  • @KevinVermeer I don't really think the vandalism possibilities are a problem either. First off, if you receive a flag about vandalism, whether you see nothing or an empty revision doesn't make a whole lot of difference. You'd still have no proof other than the flagger's word that anything bad happened. And usually when you encounter vandalism, you roll it back before reporting, and then the malicious user would be screwed anyway because his crimes are pinned down in the revision history.
    – a cat
    Commented May 23, 2012 at 15:29
  • It seems that this just happened to me ... meta.stackexchange.com/questions/144358/… Not that I think it was worth the effort involved to unupvote
    – Basic
    Commented Aug 21, 2012 at 16:43
  • 1
    So do something instead then. @Null
    – Shog9 Mod
    Commented May 30, 2013 at 21:38
  • 1
    The quick vote-locking thing has always been just a bit silly, IMHO @Tim. Never the less, if you find yourself needing to put in a dummy edit to retract a vote... So be it. Fixing one hack with a worse one ain't good.
    – Shog9 Mod
    Commented May 30, 2013 at 22:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .