AO3 News

Post Header

2017-03-24 16:11:18 -0400

We've fixed CSV downloads for gift exchange sign-ups, corrected fandom counts in collections, and made a whole heap of behind-the-scenes changes, test improvements, and other minor fixes.


  • Coders: Ariana, Cesy, cosette, cyrilcee, David Stump (Littlelines), DNA, james_, potatoesque, redsummernight, Sammie Louise, Sarken, Scott, tickinginstant
  • Code reviewers: Ariana, bingeling, james_, Naomi, potatoesque, redsummernight, Sarken
  • Testers: Betsy, Lady Oscar, mumble, Rebecca Sentance, redsummernight, Runt, Sammie Louise

Special thanks to redsummernight, who has contributed their first pull request as an AD&T volunteer and completed their training!


Bug Fixes & Enhancements

  • [AO3-4844] - We've started using the Devise gem to handle admin logins.
  • [AO3-4834] & [AO3-4835] - In our tag set code, we had two places where users would get a 500 error instead of the nicer, more specific message we meant to give them. Now they'll get a "What Tag Set did you want to look at?" error instead.
  • [AO3-4877] - Following a recent release, it was no longer possible to download gift exchange sign-up CSVs. We've fixed that, and we've also added some tests that will hopefully keep it from happening again.
  • [AO3-4808] - Editing a work and removing its fandom used to save the work, but return a 500 error, resulting in an invalid work and a confused user. Trying to save a work without a fandom will now not save the work and show the user an error message instead.
  • [AO3-4045] - If your chapter was over 500,000 characters long, you'd get an error message that included the oh-so-helpful suggestion, "Maybe you want to create a multi-chapered work?" Since you were already trying to do that, we removed that from the error message.
  • [AO3-2431] - A lot of collections were showing fandom counts that were higher than the actual number of fandoms in that collection. We realized that was because the code was also counting meta tags, so we made it stop doing that.
  • [AO3-4858] & [AO3-4922] - As detailed in Issues With Posting Works (And What We're Doing to Solve Them), we deployed some new caching code to help speed up work posting. Unfortunately, the code didn't work and we had to revert it.


  • [AO3-4883] - A security vulnerability was discovered for one of the gems we use, so we quickly updated to the patched version. (We only use the gem for our automated tests and don't believe we were at risk, but better safe than sorry!)
  • [AO3-4895] - The tool we use to check our code style and syntax was giving us suggestions that only worked in a newer version of the Ruby language than what we're currently using. We changed the tool's settings so it will only suggest things for the version of Ruby we're using.
  • [AO3-4780] & [AO3-4782] - We've added strong parameters to FAQ categories and invitation requests.
  • [AO3-4918] & [AO3-4920] - In order to deploy the caching changes for AO3-4858, we temporarily amended our deploy script so the deploy process would take less time, but require us to briefly put the Archive into maintenance mode. After we were done, we reverted those changes.
  • [AO3-4825] - We had some help files that were outdated and no longer in use, so we removed them.
  • [AO3-4851] & [AO3-4933] - We updated the database schema file in our repository, since recent changes to our database structure meant it was out of date.
  • [AO3-4443] - We've updated our version of Pry, a gem that provides a number of development tools.
  • [AO3-4856] - We had some unused code in the tag set nominations controller, so we deleted it.


  • [AO3-4830], [AO3-4897], [AO3-4908], [AO3-4901] - We've extended the automated tests for tag sets to cover more lines in the controller and more use cases. We've also reorganized the tests into smaller files in their own directory.
  • [AO3-4726] - We've brought test coverage of the comments controller up from 71% to almost 94%.
  • [AO3-4914] - We now have tests to cover all the types of tags you can use on a bookmark of an external work.
  • [AO3-4887] - We've begun improving the test coverage of the challenge assignments controller.
  • [AO3-4810] - Our test coverage for the prompts controller is now at 93%, which is much better than the 65% it started at.
  • [AO3-4889] - The series controller now has 96% of its lines covered by automated tests.
  • [AO3-4916] - We've added more tests for the external authors controller.

Known Issues

See our Known Issues page for current issues.