18

Circular duplicate links didn't used to be allowed, but I just did it:

How to access the system tray using the keyboard?

How to access (or switch between) tray icons with shortcut in windows?

question one

question two

  • Did you undo it? The first one isn't closed – FDinoff Jul 1 '13 at 3:18
  • @FDinoff yes, I undid it since I didn't actually want the circular reference to stay. If you look in the revision history you should see it. – nhinkle Jul 1 '13 at 3:21
  • 14
    // TODO: implement circular dependency checking oops... – Jarrod Dixon Jul 1 '13 at 3:29
  • 1
    What's the @@ button do? – Undo - Reinstate Monica Jul 1 '13 at 3:30
  • @JarrodDixon I swear I was stopped once from making a circular reference, but maybe I'm conflating that with it stopping me from marking as a duplicate of a deleted question. Either way, could you make it status-planned if that's appropriate? – nhinkle Jul 1 '13 at 3:35
  • 1
    @Undo wouldn't you like to know! :P – nhinkle Jul 1 '13 at 3:37
  • No, the code used to be there, but most of the flagging/closing code was refactored. Part of the plan was to implement Tarjan's algorithm for finding circular dupes. – Jarrod Dixon Jul 1 '13 at 3:37
  • @nhinkle Really - superping? – Undo - Reinstate Monica Jul 1 '13 at 3:43
  • @Undo it's a userscript that one of the SU mods wrote that copies the superping string for each user who voted to close a question. We use it to send reminders via chat to users who vote to migrate questions to SU that don't belong there. – nhinkle Jul 1 '13 at 3:47
  • @JarrodDixon with the automatic redirect for anonymous users on duplicates, what happens when there's a circular reference? – nhinkle Jul 1 '13 at 3:48
  • 2
    We get an exception in our logs. And I am deprived of my dinner. – Jarrod Dixon Jul 1 '13 at 3:51
  • @JarrodDixon I'm glad to hear that they take these things seriously over there. What happens to the user? "Oops, something went wrong" or "infinite redirect loop"? – nhinkle Jul 1 '13 at 3:54
  • Probably an infinite redirect loop on the client. – Jarrod Dixon Jul 1 '13 at 3:56
  • Possible duplicate: meta.stackexchange.com/questions/54024/… – Mateen Ulhaq Apr 2 '18 at 5:06
9

Alright, I've added some protection against this via a neat library that danielrbradley created.

There's sure to be some issues (which we'll log when a block occurs), but the base cases are covered (and unit tested, oh my!).

You must log in to answer this question.

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