AO3 News

Post Header

Published:
2019-10-21 18:14:04 UTC
Tags:

In our latest series of deploys, we made several improvements to searching and filtering, cleaned up a whole bunch of broken links, and made some finicky, but necessary changes under the hood to upgrade Ruby to the latest version.

An extra special thank you to our first-time contributor dlhardin!

Credits

  • Coders: Ariana, dlhardin, Elz, Enigel, james_, lethnie, Matt Sears (Littlelines), MaxwellsDaemon, redsummernight, Sarken, Tal Hayon, ticking instant
  • Code reviewers: Ariana, Elz, Enigel, james_, redsummernight, Sarken, ticking instant
  • Testers: Alison Watson, Ariana, Briar, briar_pipe, Claire P. Baker, cosette, GoldenFalls, Izzy, james_, Katherine, Matty, Memé, mumble, Naomi, Rebecca Sentance, redsummernight, Relle, Sammie Louise, Sarken, Taylor Clossin

Details

Searching & Filtering

  • [AO3-5492] - Searches using tags with numbers in them (e.g. "Episode S01E03") would completely ignore the numbers (and return all works with Episode tags, for example). It now respects your choices.
  • [AO3-5707] - When we renamed the class for Archive warnings (more details about that in the Infrastructure section), we realised this could break searches made with the old code (such as bookmarked searches, or searches in your browser history) by allowing them to include unwanted results. We ensured that those searches will keep working as intended.
  • [AO3-5649] - Sorting works by creator names would sometimes lead to confusing results for co-created works, since a work "by Alec, Ellie" could show up under E. It now follows the actual alphabet and sorts by the first creator listed.
  • [AO3-5652] - You can now search for works by the title of the series a work is part of. \o/
  • [AO3-5703] - Works and bookmarks are now searchable by their language codes, i.e. two- or three-letter abbreviations that are easier to look up than the IDs our database assigns to each language. You can read more about this in our hidden search operators cheatsheet.

Broken linkage

  • [AO3-5583] - When accessing the comment section on a work or news post via a direct link, the pagination links would jump you to the top of the page, away from the comments. We've now made sure the anchor stays firmly in place.
  • [AO3-5179] - We used to have an older page with information about orphaning, to be read before orphaning a work. We now point to the Orphaning FAQ instead, which is more neatly maintained.
  • [AO3-5688] - However, when deleting an account, the "What do you want to do with your works?" page did not link to any information on orphaning, leaving users to wonder what that option would do. Now it links to the Orphaning FAQ as well.
  • [AO3-5076] - The Terms of Service FAQ was using old URLs to link to specific Archive FAQ items, leading to errors. Those links have now been fixed.
  • [AO3-5077] - Also in the Terms of Service FAQ, some links to subsections of the Terms of Service were broken. We fixed those, too.

Misc. Fixes

  • [AO3-5673] - The fandom, user, and work counts on the Archive homepage used to be hard to parse, so we added commas as thousands separators. Much neater now!
  • [AO3-5730] - On the posting form, the labels for chapter number and title weren't properly associated with the respective form fields. Now clicking on those labels will select the field so you can enter the information.
  • [AO3-5733] - The assignments page used to show an extraneous email link when a user had multiple assignments in the same exchange. We have fixed that.
  • [AO3-5024] - Trying to log in as an admin with incorrect information would just quietly fail, leaving the admin puzzled why nothing was happening. It now displays a helpful error message.

Infrastructure

  • [AO3-5613] - Previously, our code used a class named Warning for Archive warning tags. Newer versions of Ruby, however, wanted that class name for themselves, so we had to rename ours to ArchiveWarning before we could upgrade the version of Ruby we're using. (We used warning tags in more places than we ever imagined...)
  • [AO3-5756] - We updated the Devise gem to version 4.7.1.
  • [AO3-5655] - One of our test files ended up in the wrong folder where it was never run. We moved it to the right place.
  • [AO3-5750] - We updated a library used by the testing suite -- the gem formerly known as factory_girl is now factory_bot.
  • [AO3-5391] - We removed unused code related to tags.
  • [AO3-5784] - We've upgraded the version of Ruby that the Archive runs on to 2.6.5 (the latest stable version at the time of coding).

Comment

Post Header

Published:
2019-09-07 07:30:43 UTC
Tags:

The new creator invitation system and related preference are the main changes in this release, but because they required a significant overhaul of the creator code, we also fixed a number of related bugs in the process!

Credits

  • Coders: james_, Nerine Luna Cyran, Sarken, ticking instant
  • Code reviewers: redsummernight, Sarken, ticking instant
  • Testers: Ania, Ariana, bingeling, doughtier, james_, memorizingthedigitsofpi, Matty, mumble, Nary, redsummernight, Sammie Louise, Sarken, Stephanie Godden, ticking instant

Details

Adding creators and co-creators

  • [AO3-5658] - We overhauled the way co-creating functions by adding an invitation system and requiring users to opt-in before they can be invited. For more details, please check out our post, "Important changes to adding work, chapter, and series co-creators."
  • [AO3-4998] - If two or more users had the pseud Mary Sue, it wasn't possible to add either of them as a chapter co-creator unless you just happened to write their name in a very specific format. We've made it so it'll work without knowing that format. Specifically, if you enter a pseud that belongs to multiple users, you will get an error asking you to choose the proper user from a dropdown menu.
  • [AO3-5606] - We fixed the same issue with series, too!
  • [AO3-5662] - If you were trying to add both a co-creator and a series to a work at the same time, but there was an error adding the co-creator due to that whole "two Mary Sues" scenario we described above, the series would vanish and not get added to the work once you clarified the co-creator situation. We did a little work to make sure the series gets added now, too.
  • [AO3-5061] - If you pressed "Preview" when making changes to your work's or chapter's creators, the proper creators weren't listed on the preview page. Now they are! (This does not apply to creators who are only invited -- they won't show up on the preview.)
  • [AO3-5620] - It used to be that adding a co-creator to a chapter wouldn't add that co-creator to any series the work was in. Now it does!
  • [AO3-5663] - Previously, if you had a series and added a co-created work to that series, the other user(s) on the work would not get listed as co-creators of the series. Now they will.
  • [AO3-5261] - When someone added you as a co-creator, the email used to only say, "You've been added as a co-creator." Now we tell you exactly who added (or invited) you, which can be helpful if there's more than one other person on the work or series.
  • [AO3-3915] - Using the form for editing multiple works to add a co-creator to multi-chapter works didn't add the person to all of the works' chapters. Now it does!

Removing creators

  • [AO3-5334] - The option to remove yourself as a work or series co-creator previous said "Remove Me As Author," which makes certain assumptions about what you're editing. We've changed it to say "Co-Creator" instead. (We also tweaked the resultant error or success message to refer to creators rather than authors.)
  • [AO3-5083] - While using the newly renamed "Remove Me As Co-Creator" button on a series correctly removed you as one of the series' creators, preventing you from making future edits, it incorrectly left your name on the series. Now your name will vanish along with your editing privileges.
  • [AO3-5692] - On the form for editing multiple works, there was an option for removing co-creators. This option didn't work and wasn't actually something we wanted to provide, so we removed it.

Miscellaneous

  • [AO3-5475] - The mass edit form used to give a rather unhelpful 500 error if one of your changes was invalid (e.g. you were trying to add a tag containing a banned character like * or ^). Now it will take you back to the form with an error message that tells you what the problem is and provides you with an opportunity to fix said problem.
  • [AO3-5625] - Thanks to a bug we believe was generally caused by changing a work's creators using the mass edit form, it was occasionally impossible to edit a work you'd created. (Basically, while transferring the work, the bit in the database responsible for saying, "This user owns this chapter of this work," would go missing.) We've made it so the bug shouldn't happen anymore and so any works already affected by the bug should be editable now.
  • [AO3-5659] - Once upon a time, we planned to make a /browse page for every user, and we had some code relating to it in place. This was so long ago that we'd kind of forgotten why we'd ever wanted that page, though, so we deleted the code.
  • [AO3-5751] - Admins were previously only able to see draft works if they were one chapter and if they were given a direct link, which made it difficult to provide support for draft-related issues. Now admins can see drafts with multiple chapters and draft chapters on posted works. They can also access a user's Drafts page in case the user doesn't provide a direct link.
  • [AO3-5753] - The character limit for comments was previously set to 4,300 characters -- a nod to the limit on LiveJournal, where many AO3 coders and users came from in the early days. But that was a long time ago, and some people like to leave much longer comments, so we've increased the limit to 10,000 characters.

Infrastructure

  • [AO3-5729] - We upgraded to a more recent version of the nokogiri gem.

Comment

Post Header

Published:
2019-08-16 20:31:29 UTC
Tags:

Our latest releases bring improvements for tag wranglers and site admins, along with a handful of user-facing bug fixes.

Credits

  • Coders: Ariana, cosette, Elz, Enigel, james_, redsummernight, Sarken, Tal Hayon, ticking instant
  • Code reviewers: Ariana, james_, Naomi, redsummernight, Sarken, ticking instant
  • Testers: Alison Watson, antonomasia09, bingeling, cosette, doughtier, Dre, Hvalrann, james_, Lady Oscar, Matty, Paula, redsummernight, Sammie Louise, Sarken, Scott, ticking instant, and the entire Support and Policy & Abuse Committees!

Details

Site Administration

  • [AO3-5126] - When an admin searched for a user, the results would be accurate, but the tally would be too high. Turns out the code was counting the total number of pseuds for every user whose email address matched the search query! We made it count the users now.
  • [AO3-5097] - Speaking of admins searching for users, some of the code for it was very long and messy and in places it had no business being -- in short, an abomination. (Direct quote from the issue description.) It is now much cleaner, properly located, and less abominable!
  • [AO3-5099] - We've made it easier for admins to search for users by letting them specify whether to search by username or email address and by giving them an option to only get results that are exact matches.
  • [AO3-4159] - Our Policy & Abuse team used to need to ask our database admins to check when and from what IP address a user had last logged in. This was terribly inefficient for everyone, so we've put that information in the admin interface now.
  • [AO3-5549] - We send spam reports to our Policy & Abuse team, but sometimes these emails failed due to a spam user deleting their account. Now the emails should go out even if that happens.

Tag Wrangling

  • [AO3-2452] - It used to be possible for wranglers to add the wrong sort of parents to a tag, e.g. making the fandom Big Hero 6 a parent of the media tag Movies. Worse still, when this happened, the incorrect parent couldn't be removed. We made a bunch of changes to the tag code to prevent this and cleaned up all of the existing incorrect parents.
  • [AO3-5697] - Our code checks to make sure no tags acquire duplicate meta tags, but code isn't a foolproof way to ensure something is unique, so now we've added a check at the database level as well.
  • [AO3-4682] - We were missing a success message that would let wranglers know they had successfully unassigned a wrangler from a fandom. We've added one!

Collections

  • [AO3-3953] - When browsing works in a collection, following one of the tags in the work blurb would take you to other works in the collection that had that tag. This was all well and good in theory, but sometimes those collection-scoped links would escape, and you'd be browsing works outside a collection only to end up trapped in a random collection. We've changed it so tag links will always take you to the full work listing for that tag, even if you're in a collection.
  • [AO3-4592] - Back in 2016, it was possible for collection maintainers to invite works to anonymous or unrevealed collections, and those works would immediately be marked anonymous and/or unrevealed without their creators' knowledge. We fixed the bug when it was discovered, but the fix didn't apply retroactively, so we wrote a little clean-up task to fix all the works that were still affected by this bug. Turns out there weren't any!
  • [AO3-5720] - Under certain circumstances, it was possible for a collection maintainer to add someone's work to their collection without that someone's approval. We've made that un-possible now.

Miscellaneous Fixes

  • [AO3-5699] - When Open Doors uses the mass importing tool, it's supposed to send an email to everyone whose work was imported. That was broken for a bit, but now it's working again!
  • [AO3-5694] - The orphan_account's dashboard had mysteriously stopped loading. We made an educated guess that the code for tallying the fandoms on dashboard pages was to blame, and we were right! The page loads now, but it will be sans fandom list until we can speed up the code. (Other accounts, and even any pseuds for orphan_account, will still have fandoms listed on their dashboard.)
  • [AO3-5039] - If you were up to some sneaky HTML manipulation, it was possible to add a tag that wasn't canonical as a Favorite Tag. We've put the kibosh to that now.
  • [AO3-5691] - When a user tried to change a work's publication date to the future, the error message would say "translation missing," followed by a bunch of nonsense. Now it correctly says something more like, "Hey, you can't do that with the publication date."

Infrastructure and Security

  • [AO3-5695] - We updated the gem for our error monitoring service.
  • [AO3-5678], [AO3-5682], and [AO3-5689] - We use a nifty tool called Brakeman to warn us about potential vulnerabilities in our code. Sometimes, though, it misses some context and worries about things that aren't actually problems. We did some refactoring to make it realize three such issues were all in its head.
  • [AO3-5480] - The company our Support and Policy & Abuse teams use made some changes to their code, which required us to make some changes to our code if we wanted the Support and Abuse Report forms to keep working. We decided that was kinda important, so we made the changes.

Comment

Post Header

Published:
2019-08-08 20:13:24 UTC
Tags:

We fixed some issues that were making things harder for our Open Doors team, updated a whole bunch of invisible bits and bobs, and took care of several unrelated bugs for extra neatness. An extra special thank you to our first-time contributors Alix and lethnie!

Credits

  • Coders: Alix, Angela, Ariana, cosette, Elz, james_, lethnie, Nerine Luna Cyran, redsummernight, Sarken, Tal, ticking instant
  • Code reviewers: Ariana, james_, redsummernight, Sarken
  • Testers: Adi M., CJ Record, GoldenFalls, Lady Oscar, Morgan Drake, Natalia Gruber, Nerine Luna Cyran, Paula, redsummernight, Rebecca Sentance, Sarken, Veronica M

Details

Imports

  • [AO3-5143] - Trying to sign up for an account and claim a work imported by our Open Doors team wasn't working correctly when the second of two identical buttons on the Claiming Your Imported Works page was used, because sometimes bugs are just really weird. We have now fixed that second button.
  • [AO3-5648] - When importing a work from another site, anchor links such as #notes were being turned into absolute links back to the original site. They are now kept as relative links.
  • [AO3-5650] - We added the option to set a language for imported works when the Open Doors team does a mass import of an at-risk or defunct archive.
  • [AO3-5245] - The task to bulk update redirects for Open Doors imports used to rely on string matching to find the works to update, but now uses the work id.
  • [AO3-5572] - One of the fields in the JSON response for the mass import code could be either a string or an array, which made life awkward for the client side application Open Doors use for imports. It is now consistently an array.
  • [AO3-5664] - We removed the old, unused version of the code Open Doors uses for mass imports.

Site Administration

  • [AO3-5310] - To combat abuse by spammers who request invitations to post MORE SPAM (e.g. advertisements for streaming sites), we now display the IP address associated with an invitation request to admins who review the automated queue.
  • [AO3-4681] - Deleting one of the publicly posted Wrangling Guidelines wouldn't lead to a friendly success message (despite success), so we added the friendly message.
  • [AO3-5473] - Way back in 2012, we added an admin setting that would allow us to disable filtering in the event the move to Elasticsearch made the site blow up. Seven years and several upgrades later, it's probably safe to say that Elasticsearch is doing okay, so we removed the setting.
  • [AO3-4110] - We restored the site admins' ability to see the number of private bookmarks (albeit not the bookmarks themselves) when looking at a user's dashboard.

Misc. Fixes

  • [AO3-5315] - The autocomplete keyboard controls (e.g. for entering tags in the work form) were previously assuming that all users are using QWERTY keyboards, which some obviously aren't. It now correctly detects when the comma key is used and processes input accordingly.
  • [AO3-5135] - When using the Edit Multiple Works page, checking the name of a collection (where it says "Check to remove") would not actually remove the work from said collection. Now it does!
  • [AO3-5204] - In the Chrome browser, the "Comments" link at top of a work wouldn't scroll you down to the comments section, nor would the "Next" link take you to the top of the next page of comments. Now both those links work!
  • [AO3-5526] - We had previously fixed cramped work stats by introducing a few pixels of space between wrapped lines; it turned out to be a smidge too much space, so we pushed the lines ever so slightly closer again. 🤷
  • [AO3-5637] - Occasionally, going to the work listing for a tag (e.g. Alternate Universe) would show a filtered version of that page (e.g. Alternate Universe works rated Teen And Up Audiences). We've fixed the caching bug that caused this to happen.
  • [AO3-2808] - The parser checking the user-created CSS in site or work skins didn't know that .jpeg was a valid file extension and wouldn't accept those files as background images. We have told the parser it's fine.
  • [AO3-4996] - On our About page, the link to get in touch with the Communications team was broken, so we unbroke it.
  • [AO3-5267] - We previously didn't allow fullscreen mode for embedded videos using the iframe option, but now we do!
  • [AO3-5672] - Our charming homepage blurb (explaining the purpose of the Archive to logged out users in a few words) was using unconventional spelling for "nonprofit" and "noncommercial." We have removed the offending hyphens now.
  • [AO3-5180] - Words in headings would sometimes break in odd places on small screens, so we made sure that shorter words are kept intact while very long words are still broken to avoid horizontal scrolling or other messiness.
  • [AO3-5656] - Trying to download a work with a summary set to nil for some reason (as opposed to works with no summary) would lead to an error 500. Now those works can be downloaded as well.

Infrastructure

  • [AO3-5123] - Refactored some code which controls the display of labels for different kinds of tags, making it invisibly but reassuringly neater.
  • [AO3-5647] - We removed some unused bookmark code.
  • [AO3-5598] - Due to race conditions, we'd have a few errors whenever the cache on the Archive's admin settings expired. We've added a race_condition_ttl to stop the errors.
  • [AO3-5653] - We fixed an automated test that was failing intermittently, which is always rather annoying.
  • [AO3-5651] - The Archive is currently running Elasticsearch 6.7, so we made sure the CI services that runs our automated tests use the same version.
  • [AO3-5654] - We made a few tweaks to various configuration files used by our version control system and CI services.
  • [AO3-5674] - We upgraded to a more recent version of the nokogiri gem.

Comment

Post Header

Published:
2019-04-10 12:40:41 UTC
Tags:

In the last few code updates, we deployed a couple of fixes for downloads, took care of some issues with our various forms and menus, and updated several pieces of our infrastructure.

Credits

  • Coders: Angela Wilson, cosette, james_, redsummernight, Sarken, Tal, ticking instant
  • Code reviewers: Ariana, james_, redsummernight, Sarken, Scott, ticking instant
  • Testers: Claire P. Baker, GoldenFalls, james_, Lady Oscar, Natalia Gruber, Qem, redsummernight, Relle, Sarken, Taylor Clossin

Details

Downloads

  • [AO3-5630] - If there was an error when generating a download, the files used to create the download would linger in our tmp folder, causing us to run out of space. We've tweaked the code to make sure the files get deleted.
  • [AO3-5631] - If multiple people tried to download the same work in the same format at the same time, the download would error. We've fixed that.
  • [AO3-5634] - We added some whitespace to the work information in AZW3, EPUB, and MOBI files.

Misc. Fixes

  • [AO3-5592] - When posting a new work and failing to enter a title, a little message would appear, telling you that "We need a title! (At least 1 characters long, please.)" We have removed that superfluous s, making the plea much more grammatical.
  • [AO3-4195] - On the form to request more invite codes, we require all fields to be filled out; however, this wasn't made sufficiently clear. Now all fields are explicitly marked as required.
  • [AO3-5182] - On several of our forms, there's a field that allows for multiple categories to be entered (e.g. M/M and M/F); however, it was labeled "Category", implying a single option. Now it's all pluralized.
  • [AO3-5611] - When we upgraded our database and changed text fields to support the UTF8MB4 character set, some of them lost their default values of empty string. We added those back.
  • [AO3-4377] - Form fields on the login page had the same ids as the corresponding fields in the header login form, which messed with accessibility. Now you can target all the labels and have it put the focus on the correct text field or checkbox.
  • [AO3-5604] - The login page links to an AO3 News post with some troubleshooting tips, in case the login attempt fails. We have updated that link to point to the freshest information available.
  • [AO3-4881] - For Archive admins, we moved the "last edited" information on a tag's edit page to the top for more visibility.
  • [AO3-4977] - On the FAQ page, the Language menu wasn't properly associated with its label. Now clicking or tapping the Language button correctly puts the focus on the dropdown, making it navigable by arrow keys.
  • [AO3-5196] - When posting or editing an FAQ item, there used to be a checkbox labeled "Notify Translation Committee of changes you made in this FAQ category?", which was never really used. (The Docs and Translation teams communicate through other means.) So now all the associated code has been removed. \o/
  • [AO3-5457] - We also removed a tag_list method from the works-related code. It just didn't spark joy!
  • [AO3-5250] - On the bookmark form, the button now says "Update" (not "Edit") when saving changes to a bookmark while on a work or series, because that just makes more sense.
  • [AO3-3556] - Selecting a prompt meme claim on the posting form wouldn't add the work to the claim's collection, even though the claim would count as filled. Now it's added to the proper collection as well!
  • [AO3-4699] - We got rid of a lingering error message that was falsely implying you couldn't edit a chapter if you weren't explicity listed as a co-creator on that chapter. You can, though.
  • [AO3-5603] - We fixed an issue that made it theoretically possible, for example, to add yourself as a coauthor to someone else's work.

Tests and Infrastructure

  • [AO3-5638] - The automatic test for DeviantArt imports was failing due to a change in the image URL. We've adjusted the URL, so now it's working again!
  • [AO3-5621] - We updated the version of Elasticsearch that was used for running automated tests on our CI services to 6.6.1.
  • [AO3-5641] - We also updated the god and unicorn gems. They are really called that.
  • [AO3-5646] - The Devise gem, which powers our login system, was updated for security reasons, so we installed that update right away, too!
  • [AO3-5642] - We added a gem that logs the database queries generated by Rails in the development environment, which is useful for debugging.
  • [AO3-5643] - We are now running Rails 5.1.6.2.

Comment

Post Header

Published:
2019-02-24 15:47:56 UTC
Tags:

Our new downloads are here! E-book files of works are now generated by Calibre, include images, and are about 12% less buggy than before. We also fixed a handful of unrelated issues that had been bothering us. A special thank you to our first-time contributor Angela!

Credits

  • Coders: Angela, bingeling, cosette, DreamSea, Elz, james_, Naomi, redsummernight, Sarken, Tal, ticking instant
  • Code reviewers: james_, redsummernight, Sarken, ticking instant
  • Testers: Adi M., Alex, Aline, bingeling, cosette, galvelociraptor, GoldenFalls, hhertzof, Izzy, james_, JenS, Jocelin, Lady Oscar, MagnusIsMyRock, nimadge, Paula, Priscilla, Rebecca Sentance, redsummernight, Sarken, ticking instant

Details

Downloads

  • [AO3-3880] - We have moved to the Calibre command line interface for generating e-book files and fixed several download-related bugs in the process (the following is only a partial list). You can find a few more details in our previous announcement.
  • [AO3-5614] - In addition to EPUB and MOBI, we now offer the AZW3 format as well.
  • [AO3-5622] - All three formats now include any images embedded in the work.
  • [AO3-3434], [AO3-2316], [AO3-3049] - Previously, the downloadable versions of a work wouldn't properly update in some cases, partly due to caching. We now make sure a new e-book file is generated if the work had been edited, so all downloads are as fresh as can be.
  • [AO3-4706] - If you happened to have the link to a downloadable file of an unrevealed work, you could previously download that file. Now you'll be told to wait for reveals like everyone else, essentially.
  • [AO3-2642] - Works with certain characters in the title (such as "This & That") would lead to awkward file names with partially escaped HTML entities (This amp That.pdf). We now strip these characters completely (This That.pdf), which is neater.
  • [AO3-3900] - If the work title started with a hyphen, MOBI downloads just wouldn't work at all. Took care of that too.
  • [AO3-5272] - MOBI files would also error if a work had more than 400,000 words. Now the sky is the limit! (Unless your sky contains like 3 million words, then even the new code might tap out.)
  • [AO3-3037] - EPUBs were previously missing chapter endnotes; we now make sure all notes are present and accounted for.
  • [AO3-3020] - Attempting to download a work when the download file had not been generated yet used to result in a server error. We are now checking for the existence of the download and showing an error message if the file is not ready yet.

Misc. Fixes

  • [AO3-5532] - A deleted work inside an anonymous or unrevealed collections would sometimes lead to an error 500 when a mod tried to reveal or de-anon the collection. Now this shouldn't happen anymore.
  • [AO3-5089] - Annoyingly enough, having a bookmark in an unrevealed collection would also cause an error when trying to reveal that collection. No more! \o/
  • [AO3-3583] - Editing your bookmark search would drop the type selection (work, series, or external work); now it'll hold on to whichever you picked in the first place.
  • [AO3-5375] - The language menu was missing from the bookmark filters, so we've added it. Now you can filter bookmarked works by language. However, please note that series and external works don't have a language set and therefore will not be included when filtering by language.
  • [AO3-5574] - When deleting a pseud and being presented with the option to either delete the associated bookmarks or transfer them to a different pseud, selecting the "Cancel" option would not actually cancel the process. Instead, it would delete the pseud and the bookmarks. Ouch! Now the "Cancel" button will actually take you back to your pseuds page without deleting anything.
  • [AO3-5198] - We used to display the number of times a particular work or site skin was used; however, that number would always be 0 for work skins. Since the feature didn't get much use anyway, we just got rid of the pesky count and moved on.
  • [AO3-5602] - There was a typo in the ToS FAQ. We fixed it.
  • [AO3-5400] - After an admin had been deleted, any page detailing an action taken by that admin would throw an error 500. Now it'll display the information (e.g. about a hidden work) with a friendly "Admin deleted" note.

Infrastructure

  • [AO3-5607] - We had previously been using Ubuntu Trusty for tests on our CI service, but now we've switched to Xenial, which is closer to our production environment and reduces the amount of set up that has to be done when we run our tests.
  • [AO3-5582] - We updated the version of Elasticsearch that was used for running automated tests on our CI services. Now it matches the version we actually use on the site (6.5.2).

Edit 24 February 2019, at 22:18 UTC: Please note that in order to avoid handing out old versions of downloads, we have cleared the download cache. Our download servers will be under some strain over the next several days as new downloads are generated and cached, so you may get an error when downloading a work. If you do, please try again later.

Edit 10 March 2019, at 09:22 UTC: We've added some whitespace to the header information on work downloads and have again cleared the cache to avoid serving old versions. As a result, there may be some slowness for the next few days.

Comment

Post Header

Published:
2019-01-27 20:13:24 UTC
Tags:

To start the year right, we deployed some major improvements to the tag wrangling interface and fixed several collection and challenge bugs. Plus, editing a work will now display the proper word count upon preview!

Credits

  • Coders: Cesy, Elz, redsummernight, Sarken, Tal, ticking instant
  • Code reviewers: Ariana, cosette, james_, redsummernight, Sarken, ticking instant
  • Testers: antonomasia09, Arya_Sheppard, briar_pipe, Dre, Ebonwing, GoldenFalls, hhertzof, Izzy, JenS, Lady Oscar, Luin, MagnusIsMyRock, McBangle, mmmdraco, mumble, Paula, phoenixacid, PS, Qem, redsummernight, Sarken, ticking instant, VSSAKJ, WhitedSepu

Details

Collections

  • [AO3-5584] - We found a few issues in our collection code that made it possible to handle or delete someone else's data, e.g. works submitted to another moderated collection. We have now put more rigorous ownership checks in place.
  • [AO3-4613] - Deleting a collection that was set to anonymous and/or unrevealed would trap the works previously added to that collection in a permanent anonymous and/or unrevealed state. /o\ Deleting such a collection will now set those works freeeee.
  • [AO3-5206] - In some cases, removing a work from an anonymous collection and adding it to a non-anonymous one in the same edit would keep the work mysteriously anonymous. Now it properly adopts the settings of the collections it's actually in.
  • [AO3-5533] - When posting a new work directly to an anonymous or unrevealed collection (as in, creating a new work with the collection name filled in), the work would occasionally not be marked unrevealed and anonymous. Even though it was in the collection! We believe we have fixed this baffling bug now, so fingers crossed.
  • [AO3-5544] - Possibly relatedly, some works in a collection would sometimes remain anonymous or unrevealed even after the collection as a whole was set to reveal all works. Awkward! We have put steps in place to prevent this as well.
  • [AO3-5569] - For extra testing fun, we added tests for the owner of an anonymous or unrevealed collection removing an item from the collection items page.

Tag Wrangling

  • [AO3-5493] - Assembling all unwrangled tags per fandom (i.e. from works posted to those fandoms) and sorting them into bins for the wranglers to handle, complete with usage counts, relied on awkward code that put quite a bit of stress on the database. We are now leaning on Elasticsearch to save and manage that data, which will improve page load times and generally make for a smoother wrangling experience.
  • [AO3-2270] - Previously, new character/relationship/additional tags would only show up in the aforementioned bins if their works used canonical fandom tags (e.g. "The Musketeers (2014)"). Now, the bins will also include unwrangled tags for works tagged with a synonym (e.g. "BBC The Musketeers"). For more context, see the Tag Wrangling committee's post on the improvements.

Miscellaneous

  • [AO3-1305] - Editing a work to remove or add words would not update the word count in the preview. Now it does! \o/
  • [AO3-4310] - In our work towards an Archive interface in many languages, we prepared another email template for translation.
  • [AO3-5494] - If you use disallowed special characters in a search or otherwise upset the search engine, you will now be greeted with a helpful error page instead of a sad error 500.
  • [AO3-5580] - We made sure old drafts are properly disposed of, even if they still somehow belong to deleted series.

Infrastructure

  • [AO3-5579] - Updated Rails from 5.1.3 to 5.1.6.1, because it's the right thing to do.
  • [AO3-5600] - Fixed an issue with the gem we're using to create the graphs on the Statistics page.
  • [AO3-5581] - We improved tests using Elasticsearch so they don't delete and recreate test data unnecessarily.

Comment

Post Header

Published:
2018-12-28 10:41:41 UTC
Tags:

We've updated the code that powers our login system to use the Rails Devise gem and fixed several unrelated bugs. Special thanks to Riley Avron for his first code contribution!

Credits

  • Coders: Ariana, Elz, james_, Lee, redsummernight, Riley Avron, Sarken, Tal, ticking instant, Wendy Randquist (Littlelines)
  • Code reviewers: james_, redsummernight, Sarken, Scott, ticking instant
  • Testers: Ariana, Enigel, GoldenFalls, Lady Oscar, MagnusIsMyRock, mumble, redsummernight, Sammie Louise, Sarken, ticking instant

Details

Authentication

  • [AO3-2839] - We are now using the Devise gem for all our authentication needs. \o/ You shouldn't notice any differences when creating an account, logging in, or navigating the site as a guest; however, we did change a few small things:
    • You can now log in using either your username or your email address.
    • If you forget your password, we will now email you a link you can use to create a new password, instead of sending you a temporary password.
    • If you change your password, you'll get logged out everywhere, e.g. both your laptop and your phone, and will need to sign in again. This can be helpful if you forgot to sign out of your account on a public computer, since you can make sure you're signed out everywhere by changing your password on whatever device you're on.
  • [AO3-5589] - Due to changes in the way passwords are sanitized, you will need to reset your password if it previously contained the < or > character. (You can continue to use < and > in your password; it just needs to be updated for our new system.)
  • [AO3-5590] - After the initial Devise update, we noticed queries to look up users by email or username became noticeably slower. We changed them to use the appropriate database indices and they are faster now.

Works & Comments

  • [AO3-5541] - We automatically delete drafts that are older than a month; however, there was an issue that led to empty ghost drafts haunting the error logs and creating problems for the tag wranglers. We rewrote the deletion process to make sure old drafts are properly disposed of.
  • [AO3-5529] - Works on the "Works in Collections" page were no longer ordered in chronological order, making one's latest unrevealed or anonymous works harder to find. We've nudged them back into the correct order now.
  • [AO3-5560] - We've ensured that comments on a hidden work can't be accessed or edited anymore, even when the link to the specific comment or comment page is known.
  • [AO3-5561] - While we were at it, we made sure the same is true for works in unrevealed collections.
  • [AO3-2378] - After fixing non-Latin word counts for new works in an earlier deploy, we've now applied the fix to all existing works as well, so word counts on Chinese and Japanese works, for example, should be much more accurate now.
  • [AO3-5571] - To prevent duplicates during an Open Doors mass import, there's a check for existing external bookmarks. However, it crashed when the archivist also had AO3 works bookmarked, so we fixed that.
  • [AO3-5559] - It was previously possible to include the class attribute when using HTML in a bookmarker's note or comment. This was unnecessary, since user-created work skins aren't applied to those areas, but could also be used for mischievous purposes to change the appearance of one's comment using our site CSS. We've now made sure that the class attribute can only be used in the body and notes of a work.
  • [AO3-5238] - We don't allow certain characters in CSS classes used for work skins, but the summary field must have missed the memo. It now checks for permissable class names when HTML is entered.

Misc. Fixes

  • [AO3-5313] - The title of the Session Expired page used to be "Auth Error Error". We changed it to have only one "Error".
  • [AO3-5438] - The email sent when one of your prompts in a Prompt Meme was claimed had a rogue "%>" after the work title; we hunted it down and removed it.

Tests & Infrastructure

  • [AO3-5530] - Before our big database upgrade to allow for 4-byte Unicode characters on the Archive 😍🤩🤭, we added an automated test to account for the possible new content.
  • [AO3-5566] - We added tests for previewing a work while adding it to a collection.
  • [AO3-5570] - We are now running Elasticsearch 6.5.2, up from 6.2.4. \o/
  • [AO3-5563] - We updated the Rack gem to 2.0.6 to keep things secure.
  • [AO3-5562] - We've started using a service that will automatically submit pull requests for gem security updates.
  • [AO3-5554] - We fixed the name and syntax of the Ruby version file in our project.
  • [AO3-5586], [AO3-5588] - We updated our deploy script to reflect the changes to our server set up.

Comment


Pages Navigation