AO3 News

Post Header

2016-08-10 16:43:11 -0400

Our last 14 deploys contained a lot of behind-the-scenes work, including improvements to the tools our wonderful Open Doors, Abuse, and Tag Wrangling committees use. We also squashed some annoying bugs concerning challenges, chapter counts, and the font on work summaries.


  • Coders: Ariana, CJ Record, Elz, james, Naomi, Sarken
  • Code reviewers: Elz, Enigel, james, Naomi, Sarken, Scott
  • Testers: james, Lady Oscar, Matty



  • [AO3-4576] - When a challenge's potential match and assignment generation went on for a long time, the process would sometimes fail due to a lost database connection and then restart endlessly, requiring a database administrator to come to the rescue. We've fixed the cause of this and sped up match generation at the same time!
  • [AO3-4577] - The list of givers without recipients wouldn't load for large challenges due to the way we were alphabetizing the list. We've removed the alphabetization to make sure the page will load.
  • [AO3-4128] - If a challenge had more than 1000 sign-ups, the progress page for the matching process would start giving the moderator an error after the first 1000 sign-ups. Now it will work even after the 1000th sign-up is matched!

Servers, Databases, and Automated Tests

  • [AO3-4589] - We use static files called cassettes to speed up our automated tests for our work importing code. The tests started to fail because the cassettes were very old, so we updated the cassettes.
  • [AO3-4575] - When a task takes a very long time to complete, the database connection sometimes gets closed and the task stops running. Now we retry the task when we reopen the connection.
  • [AO3-4596] - We updated our deploy script to reflect the fact we took two of our old application servers out of service in order to provide power for two new database servers.
  • [AO3-4598] - We put one of our old database servers back to work as an application server.
  • [AO3-4601] - We reinstalled another of our old database servers as a unicorn worker.
  • [AO3-4611] - We added two new virtual machines: one to help the machine that currently handles downloads, and another to help the machine currently handling bots. (And all four of these are running our new operating system, too!)
  • [AO3-4612] - Another old server put back to work! This time, we turned an old application server into one that handles Resque workers for background tasks like tag wrangling and challenge matching.

Committee Tools

  • [AO3-3597] - Abuse sometimes receives reports of works that are written in one language but labeled as another. Abuse staff can now label the work with the correct language by themselves rather than waiting for a coder or sysadmin with database access.
  • [AO3-4588] - All tag wranglers had access to a method of editing tags that has the potential to overload the servers if used incorrectly. To ensure that no servers are overloaded, we've restricted access to this tool to tag wranglers with administrator access.
  • [AO3-4359] - The mass import tool used by Open Doors only handled works hosted on the sites they rescue. However, some of those sites include works which are only links to external sites. In order to preserve the collections as they are, we added the ability for Open Doors to import those works to AO3 as bookmarks.


  • [AO3-4593] - On the work posting form, the Rich Text and HTML buttons are supposed to use styling to indicate which editor is active. However, they weren't doing what they were supposed to, so we fixed that. (Obligatory reminder to please avoid composing your works in the posting form!)
  • [AO3-4578] - When a user tried to edit the pseud matching their user name, the page informed them that they could not change their "fallback pseud." It wasn't entirely clear what "fallback pseud" meant (it means "the pseud that matches your username"), so we changed the message to something more informative.
  • [AO3-4573] - Due to problems with spam last year, we turned off the ability for existing users to request invitations. It's unfortunately been off for almost a year, so the error message saying, "Sorry, new invitations are temporarily unavailable" felt a little misleading. We adjusted the wording and updated the links in the message as well.
  • [AO3-4554] - We updated some links in our Terms of Service and Terms of Service FAQ to point to the pages' new URLs.
  • [AO3-4514] - If a creator posted their work using the "Post Draft" button on their drafts page, the posted work would display a chapter count of 0/1. Now the work will show the correct chapter count.
  • [AO3-4567] - When we updated our version of Ruby, it pointed out two code errors that our previous version did not. We fixed those errors.
  • [AO3-4614] - In some browsers on some Android devices, users were seeing work summaries and a whole bunch of other text in a very light grey, which made it hard to read. It turned out that some recent Android updates were revealing a four-year-old mistake in the Archive's CSS. We corrected that mistake, and now the text should be legible once again.


  • [AO3-4566] - There were a few gems we needed to update before we could upgrade our version of Ruby, so we updated them.
  • [AO3-4430] - In our quest to update all of our gems, we found a gem we weren't using. We've removed it so we don't waste any time maintaining it from now on.
  • [AO3-4574] - We updated the gems for a number of things in one go: reordering things like chapters, encrypting passwords, parsing skins' CSS, entering dates for challenges, uploading user icons, and a few more behind-the-scenes things.
  • [AO3-4446] - We've polished up the gem for the unicorns that run the Archive. (That is, we updated the gem for our web server.)

Known Issues

See our Known Issues page for current issues.