AO3 News

Post Header

2018-08-28 14:15:58 -0400

We've improved the handling of mass imports for Open Doors, made life a little easier for the Support and Policy & Abuse teams, added some more performance tweaks for happy servers, and fixed a handful of assorted bugs!


  • Coders: Ariana, cosette, cyrilcee, digitalAlchemist, DreamSea, Elz, Hazel Seanor, MaaikeVR, Meepu, redsummernight, Russell Flaum, Sarken, Tal, ticking instant, tuff
  • Code reviewers: Ariana, james_, redsummernight, Sarken
  • Testers: Ariana, Lady Oscar, redsummernight, Runt, Sammie Louise, Sarken



  • [AO3-4896] - We previously removed the "Delete Work" button from works, as it was just a tad too easy to hit it by accident and then dismiss the pop-up warning, causing a lot of sadness. We have now also removed the "Delete Chapter" buttons for the same reason. You can still delete individual chapters from the Edit Chapter form.
  • [AO3-5140] - There was an error in our search-by-date code that meant it wasn't dismissing blank spaces after an "ago" (which would have been smart!), but was extra lenient about anyone typing in "5 days agosssss", which probably didn't happen a lot. It now does the smart thing.
  • [AO3-5369] - Paging through a work chapter by chapter will now take you past the big box of work information at the top, right to the chapter heading and summary. \o/
  • [AO3-5447] - Going to the works page for a username that does not exist would inexplicably show the general "Recent Works" listing instead; going to a non-existent pseud's works page would throw an Error 500. Both cases now produce neat 404 pages, as they should.
  • [AO3-5503] - Since we may be sending out many subscription notices for the same work at the same time, and those emails contain the same pseud/user/tag/series data, we've added caching blocks to our email-building code so it doesn't have to repeat all the database queries for each email.
  • [AO3-5445] - The "Refuse Gift" link would give an Error 500 if you weren't logged in as the recipient of the gift (an unlikely scenario to begin with). The refusal attempt now leads to the proper error message, asking you to log in.
  • [AO3-5019] - In downloads, the title of a parent work overlapped the words "This work was inspired by" in the inspired work. Oops. It looks much tidier now.
  • [AO3-5420] - In a certain browser that shall not be named, if the stats section of a work blurb spanned multiple lines and had links (for comments, collections, kudos, and bookmarks), the underline styling of said links would touch the line below it, like awkward little hats. We've added a bit more space between the lines to avoid this.
  • [AO3-5453] - Work deletion sometimes failed because of an email encoding error. That should now be fixed.
  • [AO3-4625] - We produced a new version of the mass import API used for official Open Doors imports in order to provide importers with better error messages.

Support and Policy & Abuse

  • [AO3-5323] - Sometimes we experience a problem so widespread or noticeable (e.g. glacial site slowness) that our Support team receives literally hundreds of messages in the span of minutes, creating quite a bit of work for them. However, we're usually already aware of the problem and composing a quick tweet over at @AO3_Status at that point. To give Support some reprieve during those times, we've made it possible to temporarily disable the Support form until the issue has been taken care of.
  • [AO3-5190] - Submitting an Abuse report or Support request and running into an error (e.g. due to missing information) would reset the selected language to English. Language selection is now preserved like all other form input.
  • [AO3-5495] - Sometimes, a database admin has to look up comments by IP address for the Policy & Abuse committee. Comments are now indexed on IP address, making this task a bit faster.


  • [AO3-4559] - The language lists to select news posts, works, or other items in a particular language had some wonky alphabetization issues. "Suomi" (fi) was sorted between "español" (es) and "Français" (fr), potentially leading to confusion. It should now be more intuitive to browse the list (with "Suomi" cozied up with the other S-languages).
  • [AO3-5185] - Blank tokens were being erroneously stored in our autocomplete system, which sometimes led to incorrect suggestions. That should no longer happen going forward.
  • [AO3-5510] - We've added a configuration option to how we update the tagging counts in the wrangling interface, to see how we can make the database servers happier about these updates.
  • [AO3-5335] - Our static error pages (such as our charming Error 502 notice) had some incorrect menu items in the navigation bar. They're all tidied up now!
  • [AO3-5448] - Trying to access a non-existent (e.g. misspelled) FAQ item would throw an Error 500 and now produces a neat 404 page.
  • [AO3-5509] - Sometimes our automated tests failed because Elasticsearch didn't start up quickly enough. We made it so the tests wouldn't run until Elasticsearch was fully started.
  • [AO3-5496] - We've updated our transaction gems. It seemed neater that way.