AO3 News

Post Header

2017-05-16 03:30:02 -0400

In this big batch of bug fixes and enhancements, we sorted out several issues with collaboration on chaptered works, reduced errors when trying to download works, took another small step toward sitewide https support, and kept making improvements to our automated tests.


  • Coders: Cesy, cosette, cresenne, james_, redsummernight, Sarken, ticking instant
  • Code reviewers: Ariana, bingeling, james_, Sarken
  • Testers: Alison Watson, james_, Lady Oscar, mumble, Sammie, Sarken, Stephanie Godden



  • [AO3-4847] - To help users who are receiving abusive comments, Abuse staff can now find a commenter's IP address without having to ask for a database admin's help.
  • [AO3-4999] - It is now easier to manage co-creators you collaborated with on chaptered works. When adding or editing a chapter, a list of checkboxes will suggest users who are already co-creators on another chapter. For works without any previous co-creators, you can still add users in the "Add co-creators?" autocomplete field. (This also fixes the previous behavior, where a co-creator on any chapter was getting added to the whole work.)
  • [AO3-3359] - We've added a Search button to the top of the Work Search form, so you don't have to scroll all the way down if you're only using a few options on the top half of the page.
  • [AO3-4885] - Challenge assignment emails can now be translated (for when we introduce that functionality).

Work Bug Fixes

  • [AO3-4943] - Users kept running into error 500s when trying to download works. /o\ This deploy should fix several common causes for these errors: hyphens in work titles, a deleted parent work (i.e. the inspiration for a remix, or the original of a translation), or a deleted series that included the work. Fingers crossed!
  • [AO3-4986] - We discovered that it was theoretically possible to add yourself as a co-creator to a work you did not actually co-create. We fixed this as soon as our coders found it, and we have no reports of it being exploited, or any reason to believe that it was.
  • [AO3-3176] - If you were listed as the co-creator of a work and you tried to edit a chapter you were not explicitly listed on, you'd get a 500 error. Now you can edit it successfully.
  • [AO3-3733] - Orphaning a co-created work would add the orphan_account as a creator to every chapter, even if the orphaning user was not a co-creator on the entire work. We've now added a check to only display the orphan_account on the appropriate chapters.
  • [AO3-4174] - The same would happen for works in an orphaned series, where the orphan_account would suddenly be attached to all works. Fixed that too!
  • [AO3-4963] - After a change we made to speed up the posting process behind the scenes, new fandom tags on works showed up on the wrangling interface as intended, but fandom tags on bookmarks of external works did not. Oops! We made sure all new fandom tags are treated equally now.
  • [AO3-4105] - It used to be possible to completely delete a series (not the works in it!) when editing a single work in that series. We decided that this was maybe a little weird and removed the "Delete" button from that part of the interface.

Other Bug Fixes

  • [AO3-4712] - Trying to filter collections by fandom would lead to an error 500. Now it actually produces a list of collections containing works for that fandom.
  • [AO3-4985] - While the buttons to mark or unmark a comment as spam are hidden from everyone but site admins and the work's creators, it was theoretically possible to access those actions while logged out. We have now put in the appropriate checks.
  • [AO3-4718] - In a similar vein, if they had the direct link to a tag comment, logged out users could potentially see replies to and also cancel the edits on that tag comment (not comments on works!). Now they'll see the appropriate error message if they try.
  • [AO3-4956] - The redirect tool Open Doors uses to manage imported works would throw up an error 404 when being presented with a faulty URL. Now it responds with a much friendlier error message. We also extended test coverage for this feature!
  • [AO3-4407] - To keep spammers at bay, the feature that lets you request invites to friends has been disabled for a while now. We've finally adjusted the code for the front page copy to correctly reflect your options in getting an AO3 account.
  • [AO3-4621] - User icons, which we're storing on AWS servers, will now be fetched over https, making it less likely that you will get a mixed security warnings message on a page.
  • [AO3-4863] - The message you'd get when trying to access the Reindex Work action without being logged in as an admin or tag wrangler was a friendly blue instead of the appropriately dangerous red. It will flash the right color at you now.

Automated Tests

  • [AO3-4997] - In a previous deploy, we made it possible to test JavaScript features with our automated Cucumber tests. This fix brings back scenarios that were commented out when we were still grappling with JavaScript testing.
  • [AO3-4993] - We used to test URL caching with Cucumber tests. What were we thinking! Now we're using the RSpec framework for this, like normal.
  • [AO3-4992] - To start each automated test with a blank slate, we've added a little clean-up step before each test is run. Previously, that step only applied to tests of the autocomplete functionality.
  • [AO3-4990] - We've added some coverage for easy-to-test parts of various models.
  • [AO3-4982] - The service we use for our continuous integration needs, Travis CI, upgraded their operating system. We made sure we're still compatible.
  • [AO3-4981] - We added an automated test for invitation emails.
  • [AO3-4714] - We also extended coverage for the series feature.
  • [AO3-5004] - And we've added a test for work URL detection in abuse reports.
  • [AO3-4733] - The test for the public Wrangling Guidelines has been updated (and the related code received a small correction).
  • [AO3-5003] - The RSpec test for the reindexing button available to admins was broken, and we fixed it.
  • [AO3-5010] - The bookmark search test was very short and used fixtures. It is now longer (in this case, that does mean better), and uses factories instead.
  • [AO3-5014] - We now use the same factories for unit and feature tests. If this means anything to you and you have some free time on your hands, shoot us a message and join the team!

Code Clean-Up

  • [AO3-4942] - The code for viewing and editing locales on the Archive included some unused cruft. Now it's all neat and tidy. (Or neater and tidier, anyway.)
  • [AO3-4480] - We've added caching to the redirect code for imported works and made sure the cache gets updated when a work is deleted.
  • [AO3-4978] - Cleaned up duplicate definitions.
  • [AO3-5009] - We had a /docs folder that hadn't been used for anything in years. It sleeps with the fishes now.

Known Issues

See our Known Issues page for current issues.