AO3 News

Post Header

2018-08-09 14:29:06 -0400

We've fixed some issues with our new and (now even more) improved search features, addressed some unsatisfactory code that was slowing down the site and making the servers sad, fixed a handful of bugs, and generally tidied up around the place a bit.


  • Coders: Ariana, cosette, DreamSea, Elz, james_, redsummernight, Sarken, Scott, Tal Hayon, ticking instant
  • Code reviewers: Ariana, Elz, james_, redsummernight, Sarken, Scott, ticking instant
  • Testers: cosette, Danielle Strong, disjointed, hhertzof, james_, Lady Oscar, redsummernight, Runt, Sarken


Searching & Filtering

  • [AO3-5470] - When we were still running both versions of Elasticsearch, indexing would fail for the old version. We fixed that, but it's kind of irrelevant now. But still!
  • [AO3-5329] - The summary above a listing of search results (showing which input led to said results) was leaving out crossover status and completion information. Now they're properly included.
  • [AO3-5444] - Searches with over 100,000 results said "100000 Found" instead of displaying the actual number, which was an unintended consequence of limiting access to 5,000 pages of search results at a time. All searches will now show the correct number.
  • [AO3-5461] - If a tag has two meta tags and a creator uses both that tag and one of its meta tags (or one of its synonymous tags) on a work, it's now not considered a crossover anymore. That was a bit of an unexpected glitch there.
  • [AO3-5465] - We also made sure that incorrectly marked crossovers will be reindexed, so they don't show up in crossover searches anymore. If a work's fandoms share a common meta tag, it's not a crossover!
  • [AO3-5484] - Somewhat relatedly, some tags are missing their inherited meta tags, leading to wrong results in crossover searches. The way we check for crossovers now takes this charming bug into account.
  • [AO3-5462] - The Tag Search used to display 50 results per page, which was reduced to 20 after the search update. Oops. We've reverted it to its previous abundance.
  • [AO3-5463] - The "Works in Collections" page used to include a user's works in anonymous or unrevealed collections, until the search update broke that a bit. They're back now!
  • [AO3-5468] - The "Complete works only"/"Works in progress only" options were hidden under the "Status" heading, which was a bit opaque. We've renamed it to Completion Status.
  • [AO3-5472] - Tapping checkboxes and radio buttons would not always work correctly on iOS with VoiceOver. Now a double tap on a checkbox will select the option, as expected.
  • [AO3-5460] - There were a few tiny errors in the help text for the work filters, which we've corrected.
  • [AO3-5483] - As explained in our Hidden search operators cheatsheet, words entered into the main search inbox should be separated by an AND if you want to search across all work properties. We have amended our help text accordingly.

Backend & Performance

  • [AO3-5466] - Upgraded the nokogiri gem to 1.8.3
  • [AO3-5471] - Updated our deploy script to account for servers newly running Elasticsearch.
  • [AO3-5486] - To comply with the GDPR, we provide each user who contacts us (and can prove they own a certain account) with a list of data that account has submitted to or created on the Archive. This script simplifies that process.
  • [AO3-4470] - Added more caching for site settings so that we can make fewer database requests.
  • [AO3-5167] - Reworked some work/bookmark ownership checks for the same reason.
  • [AO3-5172] - Improved the performance of a method that cleans up tag data when works are deleted or tags are wrangled.
  • [AO3-5177] - Reduced trips to the database when reviewing/approving tag set nominations.
  • [AO3-5500] - Tweaked some code so work and bookmark indexes will render faster.
  • [AO3-5479] - We cache data regarding the number of times each tag is used, so that we can sort them by size/popularity. Recalculating that can put pressure on the database, so we spread out the timing of it to lighten the load.
  • [AO3-5287] - In another place where we cache the number of times tags are used, we made the calls asynchronous so that posting and deleting works should be a little faster.

Tests & Clean-up

  • [AO3-4818] - We extended the automatic tests for prompt memes.
  • [AO3-4928] - We also extended the tests for gifted works.
  • [AO3-5073] - There were intermittent failures in the tests for the history feature. It should be more reliable now.
  • [AO3-5455] - To reduce the runtime for our test suite, we split the tests into groups so each group can be run separately where convenient.
  • [AO3-5459] - Updated the Elasticsearch version on our CI services to match the version we use on the Archive.
  • [AO3-5491] - 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-5485] - The rake task we used for providing basic development data wasn't working because we had changed our database structure since the last time anyone ran the task. Now the files it uses are updated and we have automated tests to stop us from breaking things again.
  • [AO3-5456] - Removed old Elasticsearch tests we didn't need anymore. \o/
  • [AO3-5424] - Removed some unused tag-related code.
  • [AO3-5227] - Removed some unused search-related code.
  • [AO3-5228] - Removed some unused wrangling-related code.

Misc. & Assorted

  • [AO3-4842] - Line breaks were getting stripped out of Support and Abuse messages, making them hard to read. We now make sure that carriage returns are preserved on the way to our ticket tracker.
  • [AO3-5467] - Buttons, button-style links in headings, and button-style status indications (e.g. Unread) in the inbox had different fallback fonts than other elements. Now they all have the same!
  • [AO3-4579] - We've added some information to challenges, letting participants know that their email addresses will be visible to mods, and letting mods know that any kind of abuse will lead to account termination.
  • [AO3-4905] - Requesting a temporary password made it impossible to change your email until the password had been reset (which was confusing and annoying if you remembered your password and never went through with the reset). You can now change your email address regardless.
  • [AO3-5474] - We used to have an admin setting to disable work downloads for guests, which recently asserted itself a little more aggressively than it should. It's gone now.

Known Issues

See our Known Issues page for current issues.