What is meta? ×

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.

share|improve this question
... I just had to try it. and succeeded. Muahahahah. –  Matt May 22 '12 at 15:23
This isn't by-design? I thought this was well-known. Using it to undo votes never occurred to me. –  Jeremy Banks May 22 '12 at 15:39
... 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. –  lunboks May 22 '12 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. –  lunboks May 22 '12 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. –  Shogging through the snow May 22 '12 at 15:47
@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. –  lunboks May 22 '12 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 May 22 '12 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. –  Shogging through the snow May 22 '12 at 16:01
I actually do this all the time. Not do it to reverse votes, but do it to undo dud edits (like what @lunboks said). –  BoltClock's a Unicorn May 22 '12 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) –  Lorem Ipsum May 22 '12 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 May 22 '12 at 16:21
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. –  Shogging through the snow May 22 '12 at 16:26
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 May 22 '12 at 16:37
Why don't we just keylog everything? –  BoltClock's a Unicorn May 22 '12 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 May 22 '12 at 17:25

2 Answers 2

up vote 22 down vote accepted

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 indicating that the edit was a "grace-period reversion". The grace period itself has not been changed.


share|improve this answer
Addressed how? Anyone attempting it will have their computer explode? No more grace period? –  blahdiblah May 16 '13 at 23:23
Can I test it on your answer? (jk) –  ɥʇǝS May 17 '13 at 3:10
On another note, maybe you want to tag this status-complete? –  ɥʇǝS May 17 '13 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 May 17 '13 at 4:20
Nicely done! –  Shadow Wizard May 20 '13 at 11:51
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 May 20 '13 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 May 20 '13 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 May 21 '13 at 1:53
@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 May 21 '13 at 5:18
This new feature does not apply to rollbacks (by the same user). (Proof.) Shouldn't it? –  msh210 May 28 '13 at 17:37
@msh210 how do you mean? Can you describe what you did and the expected result? –  Ben Collins May 28 '13 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 May 28 '13 at 17:55
@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 May 30 '13 at 3:30
-1 I fail to see the need for this change. See my comment under Shog9's answer. –  NullUserException อ_อ May 30 '13 at 21:31

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.

share|improve this answer
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. –  Robert Harvey May 22 '12 at 17:23
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. –  lunboks May 22 '12 at 17:28
@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. –  Kevin Vermeer May 22 '12 at 17:31
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. –  Lorem Ipsum May 22 '12 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). –  Shogging through the snow May 22 '12 at 17:37
@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. –  Kevin Vermeer May 22 '12 at 17:39
@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. –  Robert Harvey May 22 '12 at 17:52
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. –  Kevin Vermeer May 22 '12 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. –  Robert Harvey May 22 '12 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. –  Ben Brocka May 22 '12 at 18:52
@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 Banks May 22 '12 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. –  lunboks May 23 '12 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 Aug 21 '12 at 16:43
So do something instead then. @Null –  Shogging through the snow May 30 '13 at 21:38
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. –  Shogging through the snow May 30 '13 at 22:13

You must log in to answer this question.

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