AO3 News

Post Header

2019-10-21 14:14:04 -0400

In our latest series of deploys, we made several improvements to searching and filtering, cleaned up a whole bunch of broken links, and made some finicky, but necessary changes under the hood to upgrade Ruby to the latest version.

An extra special thank you to our first-time contributor dlhardin!


  • Coders: Ariana, dlhardin, Elz, Enigel, james_, lethnie, Matt Sears (Littlelines), MaxwellsDaemon, redsummernight, Sarken, Tal Hayon, ticking instant
  • Code reviewers: Ariana, Elz, Enigel, james_, redsummernight, Sarken, ticking instant
  • Testers: Alison Watson, Ariana, Briar, briar_pipe, Claire P. Baker, cosette, GoldenFalls, Izzy, james_, Katherine, Matty, Memé, mumble, Naomi, Rebecca Sentance, redsummernight, Relle, Sammie Louise, Sarken, Taylor Clossin


Searching & Filtering

  • [AO3-5492] - Searches using tags with numbers in them (e.g. "Episode S01E03") would completely ignore the numbers (and return all works with Episode tags, for example). It now respects your choices.
  • [AO3-5707] - When we renamed the class for Archive warnings (more details about that in the Infrastructure section), we realised this could break searches made with the old code (such as bookmarked searches, or searches in your browser history) by allowing them to include unwanted results. We ensured that those searches will keep working as intended.
  • [AO3-5649] - Sorting works by creator names would sometimes lead to confusing results for co-created works, since a work "by Alec, Ellie" could show up under E. It now follows the actual alphabet and sorts by the first creator listed.
  • [AO3-5652] - You can now search for works by the title of the series a work is part of. \o/
  • [AO3-5703] - Works and bookmarks are now searchable by their language codes, i.e. two- or three-letter abbreviations that are easier to look up than the IDs our database assigns to each language. You can read more about this in our hidden search operators cheatsheet.

Broken linkage

  • [AO3-5583] - When accessing the comment section on a work or news post via a direct link, the pagination links would jump you to the top of the page, away from the comments. We've now made sure the anchor stays firmly in place.
  • [AO3-5179] - We used to have an older page with information about orphaning, to be read before orphaning a work. We now point to the Orphaning FAQ instead, which is more neatly maintained.
  • [AO3-5688] - However, when deleting an account, the "What do you want to do with your works?" page did not link to any information on orphaning, leaving users to wonder what that option would do. Now it links to the Orphaning FAQ as well.
  • [AO3-5076] - The Terms of Service FAQ was using old URLs to link to specific Archive FAQ items, leading to errors. Those links have now been fixed.
  • [AO3-5077] - Also in the Terms of Service FAQ, some links to subsections of the Terms of Service were broken. We fixed those, too.

Misc. Fixes

  • [AO3-5673] - The fandom, user, and work counts on the Archive homepage used to be hard to parse, so we added commas as thousands separators. Much neater now!
  • [AO3-5730] - On the posting form, the labels for chapter number and title weren't properly associated with the respective form fields. Now clicking on those labels will select the field so you can enter the information.
  • [AO3-5733] - The assignments page used to show an extraneous email link when a user had multiple assignments in the same exchange. We have fixed that.
  • [AO3-5024] - Trying to log in as an admin with incorrect information would just quietly fail, leaving the admin puzzled why nothing was happening. It now displays a helpful error message.


  • [AO3-5613] - Previously, our code used a class named Warning for Archive warning tags. Newer versions of Ruby, however, wanted that class name for themselves, so we had to rename ours to ArchiveWarning before we could upgrade the version of Ruby we're using. (We used warning tags in more places than we ever imagined...)
  • [AO3-5756] - We updated the Devise gem to version 4.7.1.
  • [AO3-5655] - One of our test files ended up in the wrong folder where it was never run. We moved it to the right place.
  • [AO3-5750] - We updated a library used by the testing suite -- the gem formerly known as factory_girl is now factory_bot.
  • [AO3-5391] - We removed unused code related to tags.
  • [AO3-5784] - We've upgraded the version of Ruby that the Archive runs on to 2.6.5 (the latest stable version at the time of coding).