AO3 News

Post Header

2019-08-08 16:13:24 -0400

We fixed some issues that were making things harder for our Open Doors team, updated a whole bunch of invisible bits and bobs, and took care of several unrelated bugs for extra neatness. An extra special thank you to our first-time contributors Alix and lethnie!


  • Coders: Alix, Angela, Ariana, cosette, Elz, james_, lethnie, Nerine Luna Cyran, redsummernight, Sarken, Tal, ticking instant
  • Code reviewers: Ariana, james_, redsummernight, Sarken
  • Testers: Adi M., CJ Record, GoldenFalls, Lady Oscar, Morgan Drake, Natalia Gruber, Nerine Luna Cyran, Paula, redsummernight, Rebecca Sentance, Sarken, Veronica M



  • [AO3-5143] - Trying to sign up for an account and claim a work imported by our Open Doors team wasn't working correctly when the second of two identical buttons on the Claiming Your Imported Works page was used, because sometimes bugs are just really weird. We have now fixed that second button.
  • [AO3-5648] - When importing a work from another site, anchor links such as #notes were being turned into absolute links back to the original site. They are now kept as relative links.
  • [AO3-5650] - We added the option to set a language for imported works when the Open Doors team does a mass import of an at-risk or defunct archive.
  • [AO3-5245] - The task to bulk update redirects for Open Doors imports used to rely on string matching to find the works to update, but now uses the work id.
  • [AO3-5572] - One of the fields in the JSON response for the mass import code could be either a string or an array, which made life awkward for the client side application Open Doors use for imports. It is now consistently an array.
  • [AO3-5664] - We removed the old, unused version of the code Open Doors uses for mass imports.

Site Administration

  • [AO3-5310] - To combat abuse by spammers who request invitations to post MORE SPAM (e.g. advertisements for streaming sites), we now display the IP address associated with an invitation request to admins who review the automated queue.
  • [AO3-4681] - Deleting one of the publicly posted Wrangling Guidelines wouldn't lead to a friendly success message (despite success), so we added the friendly message.
  • [AO3-5473] - Way back in 2012, we added an admin setting that would allow us to disable filtering in the event the move to Elasticsearch made the site blow up. Seven years and several upgrades later, it's probably safe to say that Elasticsearch is doing okay, so we removed the setting.
  • [AO3-4110] - We restored the site admins' ability to see the number of private bookmarks (albeit not the bookmarks themselves) when looking at a user's dashboard.

Misc. Fixes

  • [AO3-5315] - The autocomplete keyboard controls (e.g. for entering tags in the work form) were previously assuming that all users are using QWERTY keyboards, which some obviously aren't. It now correctly detects when the comma key is used and processes input accordingly.
  • [AO3-5135] - When using the Edit Multiple Works page, checking the name of a collection (where it says "Check to remove") would not actually remove the work from said collection. Now it does!
  • [AO3-5204] - In the Chrome browser, the "Comments" link at top of a work wouldn't scroll you down to the comments section, nor would the "Next" link take you to the top of the next page of comments. Now both those links work!
  • [AO3-5526] - We had previously fixed cramped work stats by introducing a few pixels of space between wrapped lines; it turned out to be a smidge too much space, so we pushed the lines ever so slightly closer again. 🤷
  • [AO3-5637] - Occasionally, going to the work listing for a tag (e.g. Alternate Universe) would show a filtered version of that page (e.g. Alternate Universe works rated Teen And Up Audiences). We've fixed the caching bug that caused this to happen.
  • [AO3-2808] - The parser checking the user-created CSS in site or work skins didn't know that .jpeg was a valid file extension and wouldn't accept those files as background images. We have told the parser it's fine.
  • [AO3-4996] - On our About page, the link to get in touch with the Communications team was broken, so we unbroke it.
  • [AO3-5267] - We previously didn't allow fullscreen mode for embedded videos using the iframe option, but now we do!
  • [AO3-5672] - Our charming homepage blurb (explaining the purpose of the Archive to logged out users in a few words) was using unconventional spelling for "nonprofit" and "noncommercial." We have removed the offending hyphens now.
  • [AO3-5180] - Words in headings would sometimes break in odd places on small screens, so we made sure that shorter words are kept intact while very long words are still broken to avoid horizontal scrolling or other messiness.
  • [AO3-5656] - Trying to download a work with a summary set to nil for some reason (as opposed to works with no summary) would lead to an error 500. Now those works can be downloaded as well.


  • [AO3-5123] - Refactored some code which controls the display of labels for different kinds of tags, making it invisibly but reassuringly neater.
  • [AO3-5647] - We removed some unused bookmark code.
  • [AO3-5598] - Due to race conditions, we'd have a few errors whenever the cache on the Archive's admin settings expired. We've added a race_condition_ttl to stop the errors.
  • [AO3-5653] - We fixed an automated test that was failing intermittently, which is always rather annoying.
  • [AO3-5651] - The Archive is currently running Elasticsearch 6.7, so we made sure the CI services that runs our automated tests use the same version.
  • [AO3-5654] - We made a few tweaks to various configuration files used by our version control system and CI services.
  • [AO3-5674] - We upgraded to a more recent version of the nokogiri gem.