AO3 News

Post Header

Published:
2025-03-10 21:05:12 UTC
Tags:

At the start of the year, we upgraded our library for managing pseud and collection icons. To follow that large effort, we deployed some smaller fixes and improvements while we worked to address some performance issues due to increased traffic. We also did some preparations for the next big Ruby and Rails upgrades.

Special thanks and welcome to first-time contributors Indes, Jeslyn See, John Mathai, and Sekoia!

Credits

  • Coders: Amy Lee, Bilka, Brian Austin, Cesium-Ice, Indes, Jake Faulkner, james_, Jeslyn See, John Mathai, lydia-theda, mystyrust, Scott, Sekoia, slavalamp
  • Code reviewers: Bilka, Brian Austin, james_, redsummernight, Sarken, Scott
  • Testers: Bilka, Brian Austin, Deniz, Indes, Keladry, Lute, lydia-theda, megidola, redsummernight, Rhine, Runt, Sanity, Sarken, Taki, Teyris, therealmorticia, Vio

Details

0.9.388

On January 14, we migrated to a new library for managing icon uploads.

  • [AO3-5843] - The browser page title of the Invitation Requests page is now -- wait for it -- "Invitation Requests."
  • [AO3-5578] - The library we were using to manage uploading pseud and collection icons, as well as skin preview images, was in maintenance mode and not getting improvements. Rails' built-in solution, Active Storage, got a lot of improvements with Rails 7, so we switched to it.
  • [AO3-6873] - The Elasticsearch version we were using wasn't compatible with the newest Linux kernel when running in Docker for development, so we upgraded our development setup to a fixed version.

0.9.389

We deployed a fix for a performance issue on January 21.

  • [AO3-6878] - By default, Active Storage tries to extract metadata from every uploaded image. We don't need or want that behavior, and it was causing major strain on the database because we'd just reuploaded every icon on the site as part of our migration from Paperclip, so we disabled it.

0.9.390

On January 26, we deployed a number of small fixes and improvements to take it easy while we recovered from the Active Storage changes.

  • [AO3-5977] - Admins who can access unreviewed moderated comments on works could see the "Approve All Unreviewed Comments" button even though they absolutely do not have the ability to approve unreviewed comments. We've hidden that button.
  • [AO3-6238] - The "Random Items" button didn't work on the collection's homepage. We've now made it work, like on all other collection pages.
  • [AO3-6378] - The browser page title when looking at all series by a pseud didn't mention series at all. Now it does!
  • [AO3-6874] - The browser page titles for the TOS pages and the TOS FAQ were missing the "| Archive of Our Own" at the end, so we added it.
  • [AO3-6755] - We removed some unused stylesheets.
  • [AO3-6871] - We updated one of our Rails dependencies to incorporate a small security fix.
  • [AO3-5502] - We made the browser page title on the adult content warning page for chapters more informative.
  • [AO3-6529] - It was possible to import a work from a URL on AO3, resulting in two copies of the work. Bookmarks are much better suited for saving other AO3 works, so we prevented importing works from AO3 and the error helpfully mentions bookmarking the work instead.
  • [AO3-6587] - When our Policy & Abuse team edits a user's pseud or profile in response to a ticket, they have to enter the ticket ID to authorize the action and create a log of the changes. To make it easier to copy and paste the ID from the ticket tracker, the field now accepts a leading #.
  • [AO3-6774] - To make testing easier, we added a preview for the email that is sent when an admin manually grants invitations to users.
  • [AO3-6848] - We also added a preview for the email sent when you're assigned a request in a challenge.
  • [AO3-6801] - We clarified the text of the error message banned and suspended users receive when they try to do something they're not allowed to do (e.g., posting a work).
  • [AO3-6862] - We updated the example URLs in some of our help text to use example.com, which is a domain that exists specifically for that purpose.

0.9.391

With our deploy on February 3, we prepared to upgrade to Ruby 3.2 and addressed some performance issues.

  • [AO3-6882] - To prepare for upgrading to Ruby 3.2, we made it possible to run the Archive with both Ruby 3.1 and Ruby 3.2.
  • [AO3-6889], [AO3-6890] - We added some gems to try to work around some performance issues.
  • [AO3-6892] - We did a schema dump to capture what the current data structure looks like before we upgrade to Rails 7.1.
  • [AO3-6897] - In an attempt to address regular database load spikes, we adjusted the schedule of a regularly running task.

0.9.392

In an attempt to address some more performance issues, we deployed a second release on February 3.

  • [AO3-6898] - We disabled some functionality in Active Storage that may cause some threading issues, but allowed us to cache icons to reduce traffic.

0.9.393

And then, on February 4, we undid the change we made on February 3.

  • [AO3-6900] - Our previous change led to some 500 errors related to missing pseud icons, so we took the change back out.

Comment

Post Header

Published:
2025-01-06 00:47:02 UTC
Tags:

We had quite the list of releases to close out 2024 here at AO3! There were improvements to the user experience for our administrators, and a massive improvement for our tag wranglers, meaning they won't have to deal with those pesky tags from draft works anymore. We also deployed a number of things laying the groundwork for some exciting technical improvements and upgrades in the new year.

Thank you and welcome to first-time contributor Jake Faulkner! We'd also like to thank Sekoia for pointing out a security issue.

Credits

  • Coders: Amy Lee, Bilka, Brian Austin, calm, Cesium-Ice, Jake Faulkner, james_, Nisha
  • Code reviewers: Bilka, Brian Austin, lydia-theda, Sam Johnsson, sarken, Scott, ticking instant
  • Testers: Amy Lee, Anh Pham, Bilka, Brian Austin, C. Ryan Smith, calamario, Claire P. Baker, Deniz, Gloria L, Irina, Jenni D., Lucia S., Lute, lydia-theda, megidola, Nary, Rhine, Runt, Sam Johnsson, Sanity, Taki, Tal, Taylor Clossin, Teyris, therealmorticia, wichard

Details

0.9.383

On November 25, we deployed the first in a series of changes to (gracefully) finalize the Rails 7 upgrade.

0.9.384

We deployed an array of improvements to the admin experience on December 6. We also added some email previews to help our translators when they translate them into languages besides English, in our ongoing effort to introduce language options to the AO3 interface.

  • [AO3-6709] - Policy & Abuse admins can now view comments in user inboxes.
  • [AO3-6771] - The email that AO3 creators receive when Open Doors imports one of their works didn't respect the user's locale preference. That is now fixed. (The locale preference is currently only available in testing.)
  • [AO3-6773] - To make testing easier, we added a preview for the email that gets sent out if your request for invite codes to share is denied. (Please note that it is not possible to request shareable invitation codes at this time.)
  • [AO3-6835] - We also added a preview for the email confirmation you receive when changing your email.
  • [AO3-6854] - And what's a release without updating our trusty code linter?

Several of the changes in this release fall into the bucket of "making sure only the admins who need access to something have access to it":

  • [AO3-5520] - Modifying the Wrangling Guidelines is now restricted to admins from the Tag Wrangling team.
  • [AO3-6697] - Updating the Known Issues page is now strictly the domain of our Support team.
  • [AO3-6698] - Modifying the English FAQ has been restricted to the Support and Docs teams, while the Translation team can modify any of the languages the FAQs are translated into.
  • [AO3-6760] - Admins from the Policy & Abuse and Tag Wrangling teams can access the unsorted tags bin to see tags that were created by bookmarkers and haven't been assigned categories yet, but only Tag Wrangling can actually sort them into categories.
  • [AO3-6761] - Now only admins from the Tag Wrangling team can wrangle tags from the mass wrangling bins or access certain information about wrangling tools, while Policy & Abuse admins can still access the mass wrangling bins but not do any wrangling.
  • [AO3-6762] - Similarly, read access to fandom bins and tag edit pages has been restricted to Tag Wrangling and Policy & Abuse admins, but only Tag Wrangling admins can actually make changes to tags.

0.9.385

On December 8, we deployed a single change to continue the process of gracefully finalizing the Rails 7 upgrade.

  • [AO3-6686] - We updated the Archive's configuration to use Rails 7's brand new defaults. This only includes some of the changes to cookies this time around, since doing everything all at once last time was definitely a Bad Idea.

0.9.386

On December 9, we prepared to upgrade our web servers to more modern software.

  • [AO3-6858] - Added support for Puma, so we can transition away from Unicorn and god for our web servers.
  • [AO3-6861] - You'll never believe this, but we also updated our code linter again.

0.9.387

On December 23 2024, we deployed some changes to make work easier for the Support and Policy & Abuse teams. And we snuck in a treat for Tag Wrangling and a security fix along the way.

  • [AO3-6211] - Tags on unposted (draft) works used to show up in the wrangling bins, which often made tag wranglers' jobs more difficult. Now those tags don't show up in the wrangling bins until the work is posted.
  • [AO3-6232] - When a Support ticket is submitted, we now record which site skin you're using and what page you were on. We've also started including your IP address in the copy of the ticket our Support team receives (it was previously only shared with our automated spam checker).
  • [AO3-6308] - When a user is temporarily suspended, an error message tells them when their suspension is supposed to end. The old message sometimes gave an incorrect time, so we've fixed that.
  • [AO3-6622] - We decreased the margin sizes on definition lists in FAQs to make them more consistent with styling elsewhere on AO3.
  • [AO3-6717] - In order to prevent abuse, banned and suspended users can no longer change their usernames.
  • [AO3-6792] - The Support and Policy & Abuse forms each have a list of languages the teams can answer tickets in. We've given admins from those teams the ability to update those lists.
  • [AO3-6832] - When people reported a comment to our Policy & Abuse team, a copy of the work the comment was left on was sometimes mistakenly attached to the ticket PAC receives. We made sure that doesn't happen anymore.
  • [AO3-6855] - We upgraded rails-html-sanitizer from 1.6.0 to 1.6.1 to address a potential security vulnerability found by our dependency checker.
  • [AO3-6864] - We changed the CSS sanitizer to disallow sneaking naughty code into URL values.
  • [AO3-6866] - We updated the code that creates our testing database to make sure the test data contains user roles that are similar to the current setup on AO3.

Comment

Post Header

Published:
2024-12-11 08:04:40 UTC
Tags:

In October and November we prepared for and then deployed the updated Terms of Service. We also included a variety of smaller improvements from as many contributors as we could.

Special thanks and welcome to our first-time contributors Amy Lee, anechol, Dev21Maker, lydia-theda, MarleaM, minionluvr, Mugdha Gupta, mystyrust, nil-cipher (Wanda), Paola Solari, phthallo [Annabel Quach], and slavalamp!

Credits

  • Coders: Amy Lee, anechol, Bilka, Brian Austin, Cesium-Ice, Dev21Maker, lydia-theda, MarleaM, Mugdha Gupta, minionluvr, mystyrust, nil-cipher (Wanda), Paola Solari, phthallo [Annabel Quach], Sarken, slavalamp
  • Code reviewers: Bilka, Brian Austin, james_, lydia-theda, Sarken
  • Testers: Bilka, Brian Austin, calamario, Deniz, Flerken, lydia-theda, Sarken, Taki, Teyris, therealmorticia, wichard

Details

0.9.379

On October 5, we deployed a bug fix in preparation for the upcoming changes to the Terms of Service as well as two other small fixes.

  • [AO3-5538] - Tag set pages containing a nomination for an existing canonical tag used to give a 500 error if the wrangling team edited the canonical tag's suffix (e.g., " - Freeform") or diacritics. Now the nomination gets updated correctly and the error will no longer happen.
  • [AO3-6815] - We made some tweaks to our README and CONTRIBUTING documentation on GitHub.
  • [AO3-6816] - We bumped our version of reviewdog/action-rubocop from 2.19.0 to 2.19.1.

0.9.380

On November 4, we did a small deploy relating to the planned updates to the Terms of Service.

  • [AO3-6825] - When tag wranglers changed a tag's suffix (e.g., " - Freeform") or diacritics, the changes were not being reflected on any bookmarks where the tag was used as a bookmarker's tag. We've added some cache expiration to make sure they'll get updated going forward.
  • [AO3-6824] - Some of the automated tests we run using GitHub Actions require a dependency called ImageMagick, which used to be installed on Actions by default. An update to Actions stopped including it, so we updated our tests to install it.
  • [AO3-6828] - We wrote some code that allowed us to email all AO3 users to inform them about the TOS update and Underage warning rename.

0.9.381

On November 19, we deployed the updates to the Terms of Service that were announced earlier in the month.

  • [AO3-6838] - We updated the text and format of the TOS and TOS FAQ pages. This also required us to update various references to those documents across the Archive, including the prompt that requires you to agree to the TOS before accessing the site.
  • [AO3-6831] - As part of the Terms of Service update, we've renamed the "Underage" warning tag to "Underage Sex" to make its meaning and purpose easier to understand. Please refer to the "Clarification to the Archive Warning for underage sexual content" section of the AO3 Terms of Service: 2024 Update Guide for more information.
  • [AO3-6837] - We switched our Docker setup for automated testing to Chromium instead of Chrome to support Apple Silicon.

0.9.382

On November 24, we updated the DMCA Policy and implemented a number of small improvements all over the Archive.

  • [AO3-4283] - The HTML classes on the marked for later section of the homepage were inconsistent with the classes we use on the marked for later page itself, so we've standardized things a bit.
  • [AO3-5421] - On works, news posts, and various other places, the vertical spacing between lines of text could vary a bit depending on whether the text was in a paragraph or, for example, a list. We made some adjustments to keep it consistent.
  • [AO3-5951] - If you tried to use an unordered list in your work summary or bookmark notes, the list displayed horizontally on the blurb. We've made it display vertically, as you'd expect from a list.
  • [AO3-6244] - We removed an extra underline from hovered links in the Notes section of works.
  • [AO3-6268] - Emails generated by gift exchanges would be sent as only one email to all owners at once. Now they will be sent to each owner individually, so each email can be translated separately in the future.
  • [AO3-6376] - The browser page titles for changing username, password, and email had an extra "User" at the end. We've removed it.
  • [AO3-6819] - We fixed some invalid and inaccessible HTML on the Blocked Users and Muted Users pages.
  • [AO3-6834] - We made the "Parent Thread" link accessible when reviewing comments left on works or news posts with comment moderation.
  • [AO3-6821], [AO3-6826], [AO3-6827], [AO3-6839] - Our automated dependency updater updated several of our dependencies: webrick from 1.8.1 to 1.8.2, Rails from 7.0.8.4 to 7.0.8.5, rexml from 3.3.6 to 3.3.9, and codecov-action from 3 to 4.
  • [AO3-6768] - Did you ever look at the browser page title on your drafts page? It used to say "Drafts Work," which was just weird. Now it says "username - Drafts," much like your works page says "username - Works."
  • [AO3-6829] - We updated the DMCA Policy page with new text from our Legal and Policy & Abuse teams that better explains the difference between Abuse reports, DMCA takedown notices, and DMCA counternotices – what each of them are, how to submit one, and how we handle them.
  • [AO3-6840] - We added a link to the TOS FAQ to our site map.
  • [AO3-6841] - In response to feedback from the 2024 TOS Update news post, Policy & Abuse has updated the definition of the "Underage Sex" warning to read "sexual activity involving characters under the age of 18" in order to more clearly indicate that the "Underage Sex" warning is required whether or not the sex is consensual. (All works featuring non-consensual underage sex must carry both the "Rape/Non-Con" and "Underage Sex" Archive warnings, or else use the "Creator Chose Not To Use Archive Warnings" label.)
  • [AO3-6842] - As part of AO3-6838, we updated the work posting and editing forms to include links to the Content Policy and the TOS FAQ. Now that reminder also appears on the forms for posting or editing a chapter, previewing a draft, importing a work, and editing a work's tags.
  • [AO3-6843] - To make it easier to log in if you've already agreed to the TOS, or to follow explanatory links from the TOS if you're still deciding whether to agree to them, we've stopped the TOS popup from appearing on the homepage, FAQs, and login page. We've also fixed an issue where the popup appeared on error pages for the Support and Policy & Abuse forms.

Comment

Post Header

Published:
2024-10-12 20:44:15 UTC
Tags:

From May to September, we had quite the exciting set of releases! Most notably, we made a lot of improvements to the admin area of the Archive, enabled comment moderation on news posts, and added official labels to accounts held by AO3 committees. We also prepared for an upgrade to our search servers, and integrated a new server monitoring system after our old contract ended.

Special thanks and welcome to first-time contributors AliceLsr and Nisha! 🎉

Credits

  • Coders: AliceLsr, Bilka, Brian Austin, Ceithir, Claire C, David Bilsky/Ironskink, de3sw2aq1, EchoEkhi, ellieyhcheng, james_, Nisha, Potpotkettle, Sarken, ticking instant, tlee911, weeklies
  • Code reviewers: Bilka, Brian Austin, Ceithir, james_, Sarken, ticking instant, weeklies
  • Testers: Anh P, Bilka, Brian Austin, calamario, Dre, Jenni D., lydia-theda, Maine, Runt, Sam Johnsson, Prisca, Sarken, Taylor Clossin, therealmorticia, Teyris, wichard

Details

0.9.369

On May 31, we gave admins the ability to moderate news post comments and took away their ability to leave comments or kudos.

  • [AO3-5860] - Now that official comments from OTW or AO3 personnel are made using shared committee accounts that carry an "(Official)" label, we've removed the ability for site admin accounts to leave comments or kudos.
  • [AO3-6713] - It's now possible for admins to moderate comments on news posts.
  • [AO3-6723] - We updated the i18n and i18n-tasks gems.

0.9.370

On June 12, we deployed a grab bag of fixes and behind-the-scenes improvements. Notably, gender variants of emoji used in works and comments will no longer be split up into multiple characters.

  • [AO3-5351] - We've made the confirmation email for support requests translatable.
  • [AO3-5371] - We added some class names to the statistics displayed in bookmark blurbs for series and external works (e.g., where it says "Works: 5" to tell you how many works are in a bookmarked series). This makes it easier to style those statistics the same way you style the statistics displayed in bookmark blurbs for works.
  • [AO3-5506] - Under certain circumstances, it was possible for drafts or works that were hidden by an admin to appear on your History or Marked for Later page. That should not have been possible, and now it will indeed be impossible.
  • [AO3-6017] - We changed the comment notification emails to add the "(Official)" label to comments left by official accounts of OTW committees.
  • [AO3-6087] - Some old code for cleaning up crufty HTML from versions of Microsoft Word was causing Sinhala characters with extensions – and some emoji – to get separated into multiple characters when posting works without using the Rich Text Editor. We've removed that code, which is no longer necessary for tidying up Word's HTML.
  • [AO3-6570] - In the error message you get when a work import didn't go through (for example, because a work from the same URL had already been imported), very long URLs would spill out of the error message box. Now everything is nicely contained and folds over to a new line if necessary.
  • [AO3-6704] - The preview page we use for testing the abuse report confirmation emails was giving an error on our staging environment. We've fixed the invalid test data that caused the error.
  • [AO3-6706] - We use Redis to queue many automated tasks such as assembling the daily kudos email or updating users' history pages. We've now made sure we can update our Redis initializers to allow for automatic failovers (meaning when one Redis instance dies, others can pick up the slack). Once we get new Redis servers, this will make the transition go much more smoothly, and improve matters going forward.
  • [AO3-6708] - We added an index to the owned_set_taggings table to make it a little faster, particularly when creating or editing challenge sign-ups.
  • [AO3-6720] - The Serbian Translation team is switching from Cyrillic to Latin script, so we changed the locale file and configuration accordingly.
  • [AO3-6725] - Because it was very slow, we removed the "Show Most Recent Bookmarks" option that appeared on bookmark blurbs in some places.
  • [AO3-6727] - Bumped nokogiri from 1.16.3 to 1.16.5.
  • [AO3-6736] - Bumped reviewdog/action-rubocop from 2.11.1 to 2.12.0.

0.9.371

The June 24 deploy contained several search engine fixes (e.g. for the OTP search option), in preparation for a big Elasticsearch upgrade.

  • [AO3-6522] - We adjusted the bookmark indexing so you can now search for numbers in bookmark creator and bookmarker names, e.g. bookmarks made by AO3user42 versus bookmarks made by AO3user69.
  • [AO3-6537] - Similarly, we adjusted the work indexing so you can now search for numbers in work titles.
  • [AO3-6729] - Searches for otp: true weren't returning single-relationship works posted (or edited) after May 12. This was happening for absolutely baffling reasons, but the important thing is: it's fixed now!
  • [AO3-6739] - When accessing a work in chapter-by-chapter mode, the notice telling you comment moderation is on was replaced with the word "Chapter" due to a mix-up with internationalization. We've made the actual notice appear.
  • [AO3-6734] - We bumped our Rails version from 7.0.8.1 to 7.0.8.4.
  • [AO3-6741] - We updated our automated code style checker to the latest version.
  • [AO3-6707] - We added a config file that will let our devs use Gitpod for their development environments.

0.9.372

On June 30, we deployed a small change to keep our search servers happy. It has no user-facing impact.

  • [AO3-6744] - We decreased the shard size for indexes in our search database to make sure it stays happy.

0.9.373

Due to issues with our error tracking and performance monitoring service, we did a small release with the theme "Things That Won't Cause Errors or Change Performance." We deployed these miscellaneous fixes on July 24.

  • [AO3-6612] - We updated the test previews for emails sent when adding co-creators to cover the different types of creations (work, series, chapter). This will make testing and translating these emails much easier.
  • [AO3-6616] - Last August, the browser engine WebKit made some changes that caused a variety of display issues for anyone using Safari 17 on macOS or any browser at all on iOS 17. WebKit mostly fixed the issue themselves, but there were a few areas we still needed to tweak, so we did that.
  • [AO3-6700] - When you orphan a work, the confirmation screen has some information about the orphaning process, and we thought, hey, maybe this information should be clearer. So we updated it to be really, really clear about the fact that orphaning removes your name from the work byline, but it doesn't remove any identifying information from anywhere else, so you need to remove that information yourself, before you orphan the work. (You won't be able to make any edits after orphaning!)
  • [AO3-6710] - There was some translated text for emails that was never actually used, so we removed it to clean things up.
  • [AO3-6724] - We updated the About Us and Donate or Volunteer pages to include a link to our GitHub, where we accept pull requests for issues in our bug tracker. (Please check out our Contributing Guidelines for more information!)
  • [AO3-6730] - We updated a dependency of some of our automated check tools to address a potential security vulnerability.
  • [AO3-6753] - We updated our automated code style checker to the latest version (again).
  • [AO3-6756] - To make sure translation updates are properly formatted (without redundant or unused keys), we added some automated checks to the review process.
  • [AO3-6763] - Our automated code style checker released another new version, so we updated it again. This time, it fixed a bug that was flagging issues in files our contributors hadn’t even changed, so this was a welcome update!
  • [AO3-6770] - There was another version, so we updated the same automated check dependency again. Woohoo.

0.9.374

Due to the aforementioned issues with our monitoring service, we switched to a new one called Sentry on August 13th. We also deployed some fixes for a particularly annoying tag nomination bug while we were at it.

  • [AO3-6742] - This is the one where we updated our code to use Sentry to monitor for errors and performance issues.
  • [AO3-6778] - We updated the version of one of our automated code checks. Nothing important for us, but it’s good to stay up-to-date!
  • [AO3-6783] - When there was a blank tag somewhere in the database, editing a tag set nomination to remove tags actually nominated the blank tag instead. That did some really weird things (like cause the bug below) and isn’t the right behavior, but now it has been fixed!
  • [AO3-6784] - Related to the above bug, the “My Nominations” and “Review Nominations” pages would give a 500 error if a nomination contained a blank tag that was a synonym or canonical. Also fixed!
  • [AO3-6785] - We updated a dependency of some of our automated check tools to address a potential security vulnerability. Yes, this is the third time in two releases. 😭

0.9.375

On September 6, we deployed a lot of improvements to the site's admin area, along with some smaller fixes to our automated testing setup.

  • [AO3-5441] - We technically supported the CSS filter property in work and site skins, but allowed none of the relevant properties through, so as a result we did not actually support it at all. That's fixed, so you can now use CSS filters in your skins!
  • [AO3-6010] - Many of our committees have specific roles for their members who have admin accounts, e.g. for handling AO3 News posts or tag wrangling admin tasks. Our Legal team did not, so we remedied that to avoid leaving them out.
  • [AO3-6493] - Tag wrangling supervisors would like to know when a tag wrangler changes their AO3 account name, so we added an email notification for that.
  • [AO3-6539] - We've made it easier for Policy and Abuse admins to get an overview of a user's works and comments and improved the navigation in the relevant admin area.
  • [AO3-6563] - When you contact the Policy and Abuse committee about a specific work (or chapter of a work), an HTML copy of said work will now be attached to the Zoho ticket PAC receives after you submit the report.
  • [AO3-6728] - Policy and Abuse personnel have the option of deleting an account and all the works and comments they created in cases where the account solely exists to post spam. However, this would also delete replies to their comments, leading to errors when trying to access those replies. This has now been fixed and only the spammer's comments will be deleted.
  • [AO3-6732] - We added a custom module to our automated code style checker to warn us when we use an outdated way of including HTML in translatable text.
  • [AO3-6754] - We've made it so that only admins with the superadmin role can access the area reserved for managing the API token used by the Open Doors committee for imports.
  • [AO3-6759] - We've also restricted access to certain tag wrangling admin tasks, so only tag wrangling admins (and superadmins) can, for example, manage wrangling assignments.
  • [AO3-6764] - We created a test preview for the kudos notification email. This will make testing translations of this email much quicker.
  • [AO3-6798] - Bumped fugit from 1.10.1 to 1.11.1.
  • [AO3-6800] - Bumped rexml from 3.3.3 to 3.3.6, which makes it the fourth update in this set of releases.
  • [AO3-6803] - In the same vein, bumped the script that automatically runs our style checker from 2.18.0 to 2.18.1. When will this end.
  • [AO3-6804] - We fixed a flaky test for tag wrangling features.

0.9.378

We tried deploying a handful of bug fixes and things to finish up the Rails 7 upgrade on September 19th (in release 0.9.376). Alas, the Rails-related changes had some pretty negative impacts on users’ ability to stay logged in, so we reverted the same day (in release 0.9.377). The remaining bug fixes went out on September 26th, once we made sure the dangerous stuff was fully reverted.

  • [AO3-4728] - Sometimes, when a creator deleted a work someone was subscribed to, that didn’t clean everything up, causing a 500 error when the subscriber accessed their subscriptions page. We’ve added some code to properly clean up in that case.
  • [AO3-6392] - The buttons that show up when commenting inline were showing up, but not useable, when commenting on a specific thread’s page. Since those are specific to commenting inline, we’ve hidden them on the full page view.
  • [AO3-6405] - Due to a bug, it was once possible to give a work multiple ratings (Schrödinger’s rating, if you will). This mostly happened with works imported from other archives, which we cleaned up this release.
  • [AO3-6749] - We updated the Low Vision Default skin to make the experience with menus better for folks using smaller screens.
  • [AO3-6772] - As part of our effort to make things easier for the folks translating our email templates (for when we roll out language options on the Archive), we added a preview for the reset password instructions email.
  • [AO3-6796] - If you tried to list a creator’s works using a fandom that didn’t exist, you would previously be greeted by a confusing 500 error. Now, you’ll get a 404 error indicating that what you’re looking for does not exist.
  • [AO3-6809] - Updated our automated code style checker again, because of course we did.

Comment

Post Header

Published:
2024-07-06 19:54:22 UTC
Tags:

Between February and May, we deployed a host of enhancements, bug fixes, and performance improvements. This included measures to combat spam and abuse, a fix that drastically reduced the size of PDF downloads containing Chinese, Japanese, or Korean characters, and a big Rails upgrade.

Many thanks to first-time contributor Saphron!

Credits

  • Coders: Albert Pedersen, alien, Bilka, Brian Austin, Ceithir, Claire C, EchoEkhi, Eliah Hecht, irrationalpie, Ivedonestranger, james_, Potpotkettle, Saphron, Sarken, warlockmel, weeklies
  • Code reviewers: Bilka, Brian Austin, Ceithir, EchoEkhi, printfn, redsummernight, Sarken, ticking instant, weeklies
  • Testers: Anh P, Bilka, Brian Austin, Claire C, Claire P Baker, dazyndara, intyalote, Jenni D., Jennifer D2, Keladry, lydia-theda, Maine, Nrandom, Priscilla, Runt, Sam Johnsson, Sarken, Teyke, therealmorticia

Details

0.9.360

We did a quick deploy with some minor changes on February 10.

  • [AO3-6680] - We updated our automated code style checker.
  • [AO3-6630] - We updated the gem used for our performance and error monitoring system.
  • [AO3-6613] - Our site footer and GitHub README now specify that the Archive's code is licensed under GPL-2.0-or-later, instead of just saying GPL.

0.9.361

Our February 26 release included improvements to caching on comments, work headers, and the Languages page, as well as smaller file sizes for PDF downloads of works with Chinese, Korean, or Japanese characters, and the ability to use the flexbox layout model in skins.

  • [AO3-3207] - Adding works to a series or changing their order didn't always update the header of existing works in that series. That was quite confusing, but we fixed the bug so now series behave correctly.
  • [AO3-3463] - The timestamp on comments used to be cached, causing it to display in the timezone of the person who first accessed the comment. We've now moved it out of the cache, so logged in users will see the timestamp in the timezone they've set in their preferences, and logged out users will see the timestamp in UTC.
  • [AO3-5803] - Challenges allowed setting a minimum of 0 requests or offers for sign-ups. Not only does that not really make sense, it resulted in not numbering things correctly. We now require a minimum of 1 for both (and while we were at it, updated the form to show errors better).
  • [AO3-6042] - To help us work on translating emails, we have a bit of code that controls whether users can select a language they'd like to receive emails in. We discovered that if we turned it on and someone chose a language, they'd continue to receive emails in that language even after we turned it off. That's not good, because the main reason we'd turn it off would be because something was broken. We've fixed it so everyone will receive emails in the Archive's default language (English) when language selection is off.
  • [AO3-6265] - The text in comments was left-aligned even when the text was in a right-to-left language, so we've fixed that.
  • [AO3-6377] - The page title that displays in your browser tab for the Edit Profile page will now say "Edit Profile" instead of "Edit User."
  • [AO3-6526] - If you tried to add a co-creator who was suspended or banned, the error message would tell you the user was suspended or banned. We think that information should be private, so we removed it from the error message. Now it will just tell you the user can't be added as a co-creator.
  • [AO3-6575] - We updated the AO3 News sidebar to work better with assistive technology like screen readers.
  • [AO3-6598] - We had a bit of code related to challenge sign-ups that would run unnecessarily in some cases and twice in other cases, slowing down the whole sign-up process. We've fixed it so it will only run once, and only when needed.
  • [AO3-6652] - Our shiny new PDF generator had an unfortunate side effect: truly massive PDFs for works containing Chinese, Japanese, or Korean characters. We've updated the code to fix that, and our sysadmins have done some server upgrades to let us use that code, which required a newer version of the PDF-generating software.
  • [AO3-6681] - We fixed some intermittent failures in our automated tests for orphaning.
  • [AO3-6678] - Our dependency updater bumped our version of nokogiri from 1.14.3 to 1.16.2.
  • [AO3-5728] - You can now use flexbox in site and work skins!
  • [AO3-6134] - We updated our tests so they no longer use the discontinued Delorean gem.
  • [AO3-6430] - We've updated our code to use the term "allowlist" instead of "whitelist."
  • [AO3-6667] - We added some caching to the Languages page and started rounding some of the larger numbers to make the caching less obvious.
  • [AO3-6679] - A few releases ago, we changed the way we handle session cookies. The change included some code to help us transition from the old way to the new way without logging everyone out. Now that we're done with the transition, we've taken that code out.

0.9.363

We updated our Ruby version on March 14! (Don't worry, you didn't miss a release. We just had a little trouble with the version number.)

  • [AO3-6647] - We've updated Ruby to 3.1.4.

0.9.364

On March 22, we deployed a few small issues so Systems could change some things on their side.

  • [AO3-6685] - We updated our automated tests to use the update! method in place of plain ol' update. This will give us more obvious errors if things go wrong.
  • [AO3-6596] - Accessing the help text for users who've just logged in for the first time used to give a 500 error if you were logged out. Now it prompts you to log in instead.
  • [AO3-2151] - If you've ever tried to remove a related work from the Edit Work page instead of the Related Works page, you've probably gotten a 404 error in the process, even though the related work was removed. Now you'll be redirected to the Edit Work page.
  • [AO3-6695] - Our dependency bot updated our code style checker. Automation is a wonderful thing!
  • [AO3-6696] - We configured our gem manager to install fewer gems when running the GitHub Workflow for our linters. This should speed up the automated process of checking our code for style issues.

0.9.365

On April 1, we deployed some bug fixes and improvements, which included preventing blocked users from giving you unsolicited gifts, and adding a link to landing pages for fandom tags.

  • [AO3-6320] - Trying to create tags that included a ^ would result in error messages missing part of the tag. We've fixed that, which should make the error message far more helpful.
  • [AO3-6676] - If you joined a moderated collection from the Collections page, all of the "Join" buttons on the page would update their text to "Leave," creating the impression you had joined all of the collections (which you hadn't). We've fixed it so only the collection you actually joined will have a "Leave" button.
  • [AO3-6689] - Some screen readers weren't able to access the the navigation items in the "Hi, username!" dropdown menu, so we took the opportunity to modernize the HTML for the site's main navigation.
  • [AO3-4696] - If you go to a canonical fandom tag's landing page (e.g., Les Misérables - Victor Hugo), you'll find a new link to a page containing all of the relationship tags for that fandom.
  • [AO3-6502] - If you block someone, they can no longer give you a gift work. (However, because blocking doesn't apply to challenges yet, they can still give you a gift that fulfills one of your challenge requests -- but you can refuse that gift at any time.)
  • [AO3-6564] - To reduce the potential for abuse, we've prevented images from displaying in comments on news posts, pseud descriptions, sitewide banners like we use for fundraising drives, bookmark notes, and support tickets and abuse reports.
  • [AO3-6623] - The work listings for individual series are now paginated, so if a series contains 100 works, they will be listed across five pages instead of piled onto one.
  • [AO3-6628] - Our font list had a very useful, but kind of ugly, font as the third fallback option. We've rearranged the list so it will only be used if there's no other choice.
  • [AO3-6701] - We fixed some automated tests that were failing one or two times out of every 50 runs, which was just plain annoying.

0.9.366

We did a quick deploy on April 2 to allow our Development & Membership team to update the fundraising banner during the drive.

  • [AO3-6486] - We created a new admin role for our Development & Membership volunteers.
  • [AO3-6691] - We added some custom rules to our code style checker, so now it will do some of our reviewing work for us.

0.9.367

Our April 30 release included seventeen issues, including multiple performance improvements and some changes to help deal with ongoing spam attacks.

  • [AO3-4308] - In our ongoing mission to prepare all of our emails for translation, we've now updated the email that existing AO3 users get when Open Doors archivists import works belonging to them.
  • [AO3-5054] - Kudos didn't always get the message when the kudos-giver updated their username. We've fixed that bug, so now they're with the program.
  • [AO3-5283] - There was a rare bug where admins would get an error when dealing with spam works that were deleted. We've updated our code to handle this scenario better.
  • [AO3-6594] - If you had a location in your profile at one point and decided to remove it, the empty "I live in:" section would linger in your profile just the same. We've told it to go away.
  • [AO3-6703] - Some tests weren't running due to a rake task calling exit, which means they weren't catching problems with the code. We've fixed it so they'll run.
  • [AO3-5865] - We've tidied up the Edit Multiple Works form so its fields are arranged in a more familiar way (i.e., the same way they're arranged on the regular posting and editing form).
  • [AO3-6297] - Our downloads code was using a rather old library to manage different file types. However, the old library had license issues, so we've updated to use the library recommended by the Rails team.
  • [AO3-6336] - The bookmark code was set to retrieve bookmarks in descending order by ID. Unfortunately, we couldn't override this behavior in places where we wanted to list bookmarks in a different order. We've updated the code so this is no longer the default ordering and is instead applied only where needed. (In other words, you won't notice any changes.)
  • [AO3-6592] - We improved the code for counting series in pseud and user sidebars. This should particularly help performance for the orphan_account, since it has so many.
  • [AO3-6608] - If you deleted your pseud's icon, the text describing it for screen readers would stick around. We fixed that bug, so no more Schrödinger's pseud icon.
  • [AO3-6634] - We added a new admin role for the Board Assistants Team Committee.
  • [AO3-6669] - To make looking up non-canonical tags in autocomplete faster, we started looking them up from Elasticsearch.
  • [AO3-6705] - We updated our local development scripts to use the more up-to-date version of Docker Compose.
  • [AO3-6716] - Our automatic dependency updater updated our automated code style checker again! This is why we automate these things.
  • [AO3-6719] - The places where we recently began stripping image embeds (in the April 1 deploy) will display the image's URL instead of removing it entirely. We also made it possible to easily adjust where images stripping is applied if we face another spam attack.
  • [AO3-6491] - As described in our post about spam protection measures, we changed which comment settings are pre-selected when posting a new work. Now it's set to "Only registered users can comment," but you can change it at any time.
  • [AO3-6721] - Our automatic dependency updater updated our automated code style checker yet again! Your eyes do not deceive you, this release has 2 (!) code style checker updates.

0.9.368

On May 12, we upgraded to Rails 7.

  • [AO3-6674] - We upgraded our gems and configuration files to Rails 7! (There are still a few more things we need to do to be thoroughly done with this update, though.)

Comment

Post Header

Published:
2024-03-05 19:50:58 UTC
Tags:

These eight releases feature quite a few notable improvements, including: modernizing the way we generate PDFs, making it more obvious which comments were made by guests, and fixing an issue that caused forced logouts. Additionally, we started laying the groundwork to upgrade to Rails 7.

Thank you and welcome to first-time contributors Albert Pedersen, Claire C, Domenic Denicola, isaackwatra, kwerey, leo60228, and Paul Lemus! We'd also like to thank de3sw2aq1 for pointing out two security issues.

Credits

  • Coders: Albert Pedersen, alien, Bilka, bingeling, Brian Austin, Ceithir, Claire C, Domenic Denicola, EchoEkhi, Eliah Hecht, ellieyhc, james_, isaackwatra, Ivedonestranger, kwerey, leo60228, Paul Lemus, salt, Sarken, ticking instant, warlockmel, weeklies
  • Code reviewers: alien, Bilka, Brian Austin, Ceithir, redsummernight, Sarken, ticking instant, weeklies
  • Testers: alien, Brian Austin, Chelsea Cheyanne, Claire C, Dre, Frost the Fox, Jennifer D2, Kitsune_Scribe, lydia-theda, Maine, Priscilla, Runt, Sam Johnsson, Sarken, Sveritas, Teyke, Vio, wick

Details

0.9.352

On November 18, we released a bunch of bug fixes for tests and work downloads, and changed the way we generate PDFs.

  • [AO3-5626] - When a download contained information about works it inspired, the title of those works overlapped the little "Works inspired by this one" heading, making it hard to read. We've stopped that from happening.
  • [AO3-5774] - Tag category names in downloads were not pluralized when there was more than one tag, so the information block at the top of the work would say, for example, "Character: Name 1, Name 2." We've fixed it so it will now say "Characters" (or "Archive Warnings" or "Relationships" or...) when there are multiple tags of that type.
  • [AO3-5776] - There's a note at the end of work downloads that encourages you to leave a comment. It used to use the word "author," but we've switched it to "creator," because "author" generally implies written works, and not all works on AO3 are written.
  • [AO3-6058] - Downloads and work pages had inconsistencies galore when it came to including information about translations and other related works, so we standardized things a bit and fixed a bug that could sometimes reveal the title and creator of unrevealed works.
  • [AO3-6601], [AO3-6632], [AO3-6633], [AO3-6638] - We made it so a whole bunch of automated tests that used to fail from time to time are more reliable!
  • [AO3-6625] - The table of contents for EPUB downloads didn't always work on Kindles. We figured out the problem was related to spaces in the download's filename (seriously!), so we've started replacing them with underscores.
  • [AO3-6605] - The tool we were using to flag syntax and style issues in code submissions was out of date and unlikely to be updated, so we switched to a different one that's up-to-date and has more capabilities.
  • [AO3-5629] - When we started using Calibre to create the downloadable versions of works, it had some dependencies that meant we didn't want to use it for creating PDFs. Since it no longer has that dependency, and we'd found a security issue with the way we'd been creating PDFs, we've started using Calibre for PDFs as well.

0.9.353

We had a little two-issue deploy on November 29!

  • [AO3-6611] - Autoloading constants during initialization outside configuration blocks will cause an error when we update to Rails 7, so we've addressed that issue ahead of time to make the update easier.
  • [AO3-6636] - We've started using Chrome's prefetching to load the next chapter of works, which should make the site feel a little faster for Chrome users.

0.9.354

On January 6th, we rang in the new year with a packed release! Highlights include adding the ability to filter all works in a specific language and making it easier to tell which comments were left by guests.

  • [AO3-3217] - On fields with character counters, screen readers used to tell you how many characters you had remaining every time you pressed a key. That was very annoying, so we made them stop doing that. Now they only provide this information if you ask for it by navigating to the character counter.
  • [AO3-3471] - You can now filter all the works in a specific language by going to, for example, /languages/fr for works in French or /languages/ko for works in Korean.
  • [AO3-5048] - When a collection owner or moderator changed their username or pseud, the blurb for the collection didn't always update to use the new one. Now it will.
  • [AO3-5259] - If you opened the tag filter menu on AO3 News after filtering news posts by tag or language, it would contain a messy list of duplicated tags. We've tidied it up so it only includes each tag once, in alphabetical order.
  • [AO3-6528] - If a collection owner tried to add a banned or suspended user to their collection, they'd receive a message telling them the user was banned or suspended. For privacy, we've changed the message.
  • [AO3-6533] - Works are only supposed to have one rating, but it was possible to get around that by using your browser's developer tools. Now you'll get an error message if you try to do that.
  • [AO3-6551] - We added a character counter to the CSS field on the page for creating skins and made sure it gives a nice error message when you're over the limit, rather than just giving a 500 error with no indication of what's causing the problem.
  • [AO3-6626] - Wranglers could create tags containing Chinese and Japanese commas, which was bad because tag autocomplete expects commas to indicate the end of one tag and the start of a new one. Trying to create these tags will error now, so we don't end up with unusable tags.
  • [AO3-6643] - We fixed a bug that resulted in errors when trying to sort work search results by certain fields.
  • [AO3-6645], [AO3-6646] - We fixed some occasional failures in our automated tests.
  • [AO3-5995] - The database column that indicates whether a comment was marked as spam has a rather confusing name, so we took the first step toward renaming it by adding a new column named spam.
  • [AO3-5386], [AO3-6314] - We removed some unused columns from the database tables for preferences and external works.
  • [AO3-6505] - We made some performance tweaks to how statistics and collections are fetched to show in work blurbs.
  • [AO3-6639] - We did a schema dump to capture what the current data structure looks like before we upgrade to Rails 7.
  • [AO3-6548] - Comments left by guests got a makeover! They'll now have a different icon from the default icon for logged in users, plus the word "(Guest)" will be added in nice bold text beside the commenter's name.
  • [AO3-6579] - We changed the browser page title on the Create Account from "New Registration" to "Create Account." Consistency! 🎉
  • [AO3-6609] - Checking the status of your invitation will now give you the option of having it resent to you, assuming you haven't used it yet and it was sent more than 24 hours ago.
  • [AO3-6631] - The Twitter widget on the homepage no longer worked, so we replaced it with links to where you can find us on social media.
  • [AO3-6386] - Our previews for testing translated emails weren't working right because the fake email addresses were being translated, which would sometimes result in invalid characters in the addresses. To fix that, we've changed how the fake email addresses are generated.
  • [AO3-6650] - After we added chapter prefetching in the last release, we noticed the new code wasn't always included when it should've been. We tracked down the cache block that was causing this and moved the prefetch code outside it.
  • [AO3-6653] - We updated the tool that automatically adds and removes labels on pull requests.

0.9.355 & 0.9.356

On 8 January and 11 January, we fixed some performance and security issues.

  • [AO3-6664] - We made some performance improvements to the code that handles both redirects for works imported by Open Doors and checking to make sure a URL has only been imported once.
  • [AO3-6665] - We added protocol restrictions for URLs used for the source and track elements of audio and video embeds to ensure they begin with http:// or https://.
  • [AO3-6666] - Allowing users to resend invitations (AO3-6609) was causing some performance issues, so we reverted that change until we can make the code work better.

0.9.357

We did a bit of housekeeping on January 16.

  • [AO3-6662] - The automated task for deleting unused tags stopped working, so we fixed it on production. Then we had to commit that fix to the codebase.
  • [AO3-6663] - We fixed an occasional test failure related to archivists and co-creators.
  • [AO3-6654], [AO3-6655], [AO3-6660] - Our dependency updater updated a few things we use when running automated options on GitHub.

0.9.358

On January 24, we made some changes to session cookies, which required some downtime to ensure logged in users didn't get logged out.

  • [AO3-6629] - We've switched from encrypted cookies to signed-only cookies to increase compatibility with Cloudflare. This change, combined with some work by our lovely Systems team, should reduce the number of forced logouts some users were experiencing.

0.9.359

Our February 10 release features the ability to add parent skins in the skin wizard, plus a big performance improvement for wrangling pages.

  • [AO3-6566] - The code for telling assistive technology (e.g., screen readers) that help links control the help pop-up was written wrong, so we made a one-character change and fixed it.
  • [AO3-6574] - We updated how our menu items present themselves to screen readers to match current standards.
  • [AO3-6659] - When banning a user for spam, admins have the option to delete all their creations, including collections. The list could include collections the user belonged to but did not own, which wasn't quite right. That bug has been fixed.
  • [AO3-6473] - There was some code in the Application Controller that wasn't used, so we got rid of it.
  • [AO3-6651] - We've been using Rails 6.1 for about a year now, so we updated to use the default settings that go with that version.
  • [AO3-6656], [AO3-6657], [AO3-6673], [AO3-6675], [AO3-6677] - Our handy bot friend updated several of our dependencies and automated tools for us. 🤖
  • [AO3-2722] - You can now add parent skins from the skin wizard!
  • [AO3-6210] - In order to improve performance and make some nifty things possible down the line, we've begun loading the tags in the mass wrangling bins from Elasticsearch, not from SQL.
  • [AO3-6500] - Entering a URL with the HTTPS protocol when bookmarking an external work, providing a link in a challenge prompt, or setting a header for your collection will no longer result in the protocol getting changed to HTTP.
  • [AO3-6572] - For troubleshooting and anti-abuse purposes, admins can now see exactly when a user blocked or muted someone.
  • [AO3-6637] - Remember release 0.9.353, when we started using prefetching to speed up chapter loading times in Chrome? Well, now we've moved on to an even newer and faster way of doing the same thing: prerendering!
  • [AO3-6640] - With each new version of Ruby on Rails, there are new default configurations for how things work under the hood. We still had some old ones set, so to prepare for upgrading Rails, we removed them.

Comment

Post Header

Published:
2024-02-01 20:28:44 UTC
Tags:

We've been so busy fixing bugs, keeping on top of Ruby on Rails and gem updates, and improving site performance and security, we fell a bit behind on actually telling you about it all! So here's a rather massive overview of code we deployed from June through October last year.

It includes many improvements for site admins and Open Doors archivists, as well as accessibility fixes and some enhancements to prevent abuse and harassment. We also started blocking some AI-related bots from crawling the site. In our tag search, you can now sort results by number of uses.

Many thanks to new contributors Mitch Stark, Ivedonestranger, and Eliah Hecht!

Credits

  • Coders: alien, Bilka, Brian Austin, Ceithir, Cesium-Ice, Cesy, EchoEkhi, Eliah Hecht, ellieyhc, Hunter Ada Smith, Ivedonestranger, james_, korrien, Potpotkettle, salt, Sarken, Scott, Tara Rosenthal, ticking instant, tlee911, Tyme, warlockmel, weeklies
  • Code reviewers: alien, Bilka, bingeling, Brian Austin, Ceithir, EchoEkhi, james_, redsummernight, Sarken, ticking instant, weeklies
  • Testers: Cesy, Claire P. Baker, bingeling, Brian Austin, C. Ryan Smith, Chrome, CJ Record, intyalote, Jenn Casso, james_, Jennifer D2, Keladry, lydia-theda, Maine, Mar, Petricores, Runt, Sammie Louise, Sarken, Taylor Clossin, Teyke, V Snow, wick

Details

0.9.345

On 25 July, we had quite a few updates! Included are an array of visual improvements, better behavior for long lists of pseuds, and letting Open Doors archivists automatically add works to collections (saving time when they import works from at-risk sites.)

  • [AO3-3997] - We had previously used multiple methods to determine if an email address was legitimate. We consolidated code to use the most robust method of checking.
  • [AO3-4268] - On some devices with a narrow screen, site navigation menus were overflowing off the screen. Navigation menus have now been instructed to take up the full width of the screen and not a pixel more.
  • [AO3-5258] - On your gifts page, the buttons on mystery works displayed on the opposite side of the buttons on non-mystery works. They now consistently appear left-aligned. To the left, to the left, all of your buttons in the column to the left!
  • [AO3-5356] - We added an attribute to tell screen readers that localized language names are not, in fact, English.
  • [AO3-5627] - Previously it was possible to delete the only posted chapter of a work. This caused the work to become inaccessible in certain circumstances. We've added an error message and prevented the deletion of chapters which are the only posted chapter of a work.
  • [AO3-5777] - Work blurbs that had hits, comments, kudos, or bookmarks over 999 did not have a comma separator for ease of reading. We've added in the separator. Read easy, friends!
  • [AO3-5889] - Some of us have pseuds. Some of us have a lot of pseuds. For those of us with more than twenty pseuds, pagination will now appear on your pseuds page to save the database a little stress on loading all those pseuds.
  • [AO3-5901] - Similarly, we're limiting the number of pseuds that appear on the dashboard sidebar and profile page.
  • [AO3-6141] - Admins used to be able to assign any role to a user, regardless of their own admin role (so, for example, an Open Doors admin could make a user a tag wrangler or a translator). We've fine-tuned the role assignment process to prevent admins from assigning roles outside their purview.
  • [AO3-6158] - The thermometer widget used during fundraising drives was hard coded to label the value in US Dollars. We've removed that so we can display other things (e.g., new memberships during a drive).
  • [AO3-6199] - We've renamed the list of sources you're not allowed to use with the video and audio HTML tags so it uses the word "banned" rather than "blacklisted."
  • [AO3-6243] - If you clicked the "Edit" button on one of your comments and then disabled JavaScript in your browser, you would receive a Session Expired error page if you tried to save your edits. You can now successfully save your edits!
  • [AO3-6513] - We have given the ability to Open Door Archivists to automatically add works to collections they moderate. This ability works irrespective of the "Allow others to invite my works to collections" setting. Work creators will receive an email when an Open Doors Archivist adds their work to a collection, and can always remove their work later, if they choose.
  • [AO3-6535] - We upgraded Rubocop and erb-lint, two gems we use to help us with code review.
  • [AO3-6557] - Waaay back in 2011 we added a monkeypatch to allow users to access works from their PlayStation Portables. The underlying bugs that necessitated the monkeypatch have been resolved, so we deleted the monkeypatch. You should still be able to access works from your PSP, although we'd like to hastily point out that it's not a platform we officially support.
  • [AO3-6558] - We updated the usage of a variable used for side-wide settings, to reduce errors. One day, we'll live in a world free of Error 500s. One day.
  • [AO3-6560] - For the sad times when you do receive an Error 500, we've added a link to our Tumblr as well as our Twitter. Now you have two places to tell us the servers are down! (And we're looking into setting up a status page that does not rely on the whims of social media platforms.)

0.9.346

We did some quick Gem updates on August 2.

  • [AO3-6559] - We updated the sanitize Gem.
  • [AO3-6562] - We updated the audited Gem.
  • [AO3-6568] - We removed a Gem that was causing errors in our (and many other people's) tests.

0.9.347

We deployed some user experience improvements for admins and tag set owners, along with a few other bug fixes on August 9.

  • [AO3-4867] - We fixed a bug that made it difficult to add or remove a tag set owner or moderator whose username matched someone else's pseud.
  • [AO3-4868] - The same bug also occurred when assigning givers in gift exchanges, so we fixed it there, too!
  • [AO3-6488] - Admins sometimes need to edit orphaned works (e.g., to remove identifying information the original creator left behind), but there was a slow query on the form that caused 504 gateway timeout errors, making that impossible. We've improved the query so admins can once again edit orphaned works.
  • [AO3-6530] - Sometimes live validation error messages near the bottom of forms were partially hidden behind the footer. Now they'll hang over the footer, allowing you to actually read what they say.
  • [AO3-6545] - The FAQs are supposed to remember which language you chose the last time you browsed them, but they were forgetting and showing you the English FAQs instead. We've fixed it so the FAQs will once again load in your language of choice (unless you follow a link that specifies a language in its URL).
  • [AO3-6552] - We added some missing accessibility-related code to the "Log In" link in the header.
  • [AO3-6192] - We were manually turning off comments on news posts after two weeks, which was a task ripe for automation, so automate it we did!
  • [AO3-6536] - We've created an admin role to give volunteers on the OTW Elections team access to some tools that will help them do their work more efficiently.
  • [AO3-6556] - There were a few places on the site that talked about needing to "confirm" newly created accounts, but we generally use the term "activate." We've updated those places to use our preferred terminology, which will hopefully make things clearer.
  • [AO3-6567] - We changed how we translate strings, which improved performance by about 20%.

0.9.348

We did a tiny Rails update on August 10.

  • [AO3-6577] - We bumped the version of Rails we're on to 6.1.7.4 to make sure we have the latest fixes.

0.9.349

On August 11, we fixed an error resulting from a previous change.

  • [AO3-6589] - When we made the change to improve the performance of our old translation string method, we inadvertently caused some errors when user-generated text containing the percent sign (%) was passed to the method a certain way. We've changed the way we're passing that text so the errors won't happen.

0.9.350

August 22 was quite the busy release! We improved the way information like draft expiration date and adult content warning is displayed, blocked some AI crawler bots, and made improvements to a few internal tools to make our developers' lives a bit easier.

  • [AO3-4494] - There's a message on draft works that indicates when they'll be automatically deleted. The message used to include a time of day, but that time of day wasn't actually correct, so we've removed it.
  • [AO3-5052] - Sometimes, when you changed your username or pseud, your old name would stay on your series blurbs. We've fixed it so series blurbs will refer to you by your updated name.
  • [AO3-5248] - If you tried to visit a page for a user who didn't exist, you'd get redirected to the People Search page. That made sense in a way, but wasn't terribly consistent with other nonexistent pages. Now you'll get a 404 error instead, which makes it easier to check for typos in the URL you entered.
  • [AO3-6442] - When trying to create a bookmark or inspired by link for works on ficbook.net, you used to get an error message suggesting the site was down, even though the site was working just fine. We've stopped that error message from appearing.
  • [AO3-6480] - The adult content warning on works was missing some hidden text used by screen readers, and some of the visible text wasn't particularly clear to many users, so we made the necessary tweaks!
  • [AO3-6540] - Permanently banned users can now access the options for orphaning or deleting their works, as well as removing themselves from works they've co-created, without having to contact the Policy & Abuse team.
  • [AO3-6546] - A rusty old bit of JavaScript sometimes caused the account creation form to get stuck if you entered an invalid username (e.g., one someone was already using). We replaced it with some newer, shinier JavaScript that won't do that.
  • [AO3-6553] - We added some accessibility information to the code for the list of media on the homepage.
  • [AO3-6561] - The code that was supposed to display a confirmation pop-up when you mark a comment as spam wasn't working, so we've fixed it.
  • [AO3-6549] - We updated the preference code to remove a reference to a database column we got rid of a while back.
  • [AO3-6573] - For several years now, we've been using Percona's pt-online-schema-change to make changes to the database schema while the site is up and running. This required some extra work on our part, so we've added the Departure Gem to take care of some of that extra work for us.
  • [AO3-6583] - We updated our robots.txt to prevent GPTBot from accessing the site. While we were there, we also cleaned up some old lines that were no longer needed.
  • [AO3-6590] - We've started using Reviewdog, an automated tool that makes sure proposed changes to our template files meet our coding standards.
  • [AO3-5732] - Admins will now get a nice error message when they search for invitations by email and there are no matching results.
  • [AO3-5961] - Our logs were pretty long, so we stopped logging a bunch of things that we didn't really need to be logging.
  • [AO3-6212] - We added an index to the tag_set_associations table to speed it up.
  • [AO3-6506] - We updated how bookmark searches work to make things a bit more efficient.
  • [AO3-6595] - We updated our robots.txt to prevent ChatGPT-User from accessing the site.

0.9.351

On October 20, we deployed a number of bug fixes both to the site and our own development tools. Of particular interest, we added the ability to sort by number of uses in tag search.

  • [AO3-6483] - We fixed a bug that prevented showing admins certain account activity logs for older accounts.
  • [AO3-6487] - Sometimes when fandom tags were renamed, the character and relationship autocomplete fields on the work form wouldn't suggest the relevant tags for the fandom. This is now fixed.
  • [AO3-6571] - To avoid unexpected results when referencing images, you now have to use the image's whole URL in the HTML img tag's src attribute. If you just enter a relative URL like /image.jpg, you won't get an error, but we'll add the Archive's domain, making it https://archiveofourown.org/image.jpg.
  • [AO3-6599] - Not all types of servers were being updated automatically when we changed some files; they felt left out, so we've made sure all of them are told about configuration updates.
  • [AO3-6602] - We fixed a script our developers use so it works properly on macOS in addition to Linux.
  • [AO3-6618] - We added some missing character escaping to the code for pre-filling information for bookmarks of external works.
  • [AO3-6621] - We updated the OTW donation link to point to the new donation form.
  • [AO3-6603] - We bumped the version of actions/checkout -- a utility that helps run automated tests on our code -- from version 3 to version 4.
  • [AO3-4595] - Certain admins can now remove pseud icons and update pseud descriptions.
  • [AO3-5522] - To prevent someone flooding your email with lots of password reset emails, we've limited the number of resets someone can request within a short amount of time.
  • [AO3-6040] - To avoid confusion with official accounts, we have added the ability to forbid using certain usernames.
  • [AO3-6321] - Fannish Next-of-Kin tickets are now handled by our Support team, and we have updated the Terms of Service FAQ to reflect this.
  • [AO3-6328] - When you use Tag Search, you can now choose to sort the results by number of uses.
  • [AO3-6467] - Admins can now see changes to users' Fannish Next-of-Kin relationships in the users' account history.
  • [AO3-6312] - You can now prevent guests from replying to your comments on news posts and other users' works by going to your Preferences page and choosing "Do not allow guests to reply to my comments on news posts or other users' works (you can still control the comment settings for your works separately)."

Comment

Post Header

Published:
2023-08-23 20:43:42 UTC
Tags:

Between the months of April and June, we deployed several download, collection, and tag wrangling improvements, as well as lots of smaller fixes and updates under the hood.

Thanks to Andrew Sillers and Hassan Jaleel for recommending some security improvements. Thanks to new coders calm, paradoxe, and Rimi!

Credits

  • Coders: Bilka, Brian Austin, calm, Cesium-Ice, EchoEkhi, GoodGithubAccount, paradoxe, Potpotkettle, redsummernight, Rimi, salt, Sarken, ticking instant, warlockmel, weeklies
  • Code reviewers: Bilka, Brian Austin, james_, redsummernight, Sarken, ticking instant
  • Testers: bingeling, Brian Austin, CJ Record, Dasha, Frost the Fox, hhertzof, Jennifer D2, lydia-theda, Maine, Michelle Schroeder, Paula, Rebecca Sentance, redsummernight, Runt, Sarken, Teyke, V Snow, wick

Details

0.9.339

On April 16, we deployed some minor housekeeping changes.

  • [AO3-6449] - We updated to a newer version of the New Relic gem, since the version we were using may have been responsible for some errors we were getting in Resque.
  • [AO3-6496] - Development of PhantomJS has been suspended, so we've started using Selenium for automated tests of JavaScript-based functionality.
  • [AO3-5722] - We removed a step in our Cucumber tests that didn't actually do anything but sit there and look pretty.

0.9.340

On April 18, we fixed several issues with work downloads, among other things. You can now hide the "You have muted some users on the Archive" banner with a site skin.

  • [AO3-5778] - We've improved the readability of numbers in the work meta by adding thousands separators for numbers longer than 3 digits (for example, 13456 now displays as 13,456).
  • [AO3-5782] - We've also added thousands separators to the word count on downloaded works.
  • [AO3-5734] - When you download a work in HTML format, the work title used in the file's title will no longer be limited to 24 alphanumeric characters.
  • [AO3-6075] - The chapter count displayed in downloads is now consistent with the chapter count displayed on the work itself.
  • [AO3-5770] - The warning section of downloaded works whose creator has chosen not to use Archive warnings was using the wrong phrasing ("Choose Not To Use Archive Warnings"). We fixed it to use the same phrasing as the work on the Archive, "Creator Chose Not To Use Archive Warnings".
  • [AO3-6476] - We've made the notice about muted users that appears on work and bookmark listings fit in better with the site's style. It's also easier to disappear with a site skin: p.muted.notice { display: none; }
  • [AO3-4120] - When a user changes the username or pseud under which they left a comment, that comment will immediately update to reflect this change, as you would expect it to do. However, we had to defeat a tricky bug that was leading to too-persistent caching.
  • [AO3-6499] - Static error pages, such as the sad error 503 page, have been left unstyled for a while due to the wrong CSS being linked. We've now given them their groove back.
  • [AO3-2228] - We enabled browsers' built-in color pickers on the color fields for the skin wizard.
  • [AO3-6474] - We've made some code in the application controller more efficient by only loading the media for the Fandoms menu when the cached media list needs regenerating.
  • [AO3-6504] - We fixed an issue affecting the Docker setup used for local development, where the initialization script would previously drop and recreate the databases twice.

0.9.341

In our May 1 deploy, we cleaned up ALL the code! Or some of it, anyway.

  • [AO3-6512] - Our automated test suite was having some intermittent failures due to state leaking between tests. We plugged them up so they're no longer leaking all over each other.
  • [AO3-6097] - We've removed Dewplayer from our code, and any Dewplayer embed code will be stripped from works. Instead, you can embed media in your works using the audio and video HTML tags.
  • [AO3-6511] - We've updated the version of nokogiri from 1.14.0 to 1.14.3.
  • [AO3-6509] - The asynchronous processes working on tag changes are sometimes stepping on each other's toes and going "you first", "no, you go first", "no, I insist" and so on (AKA a deadlock). We've instructed them to retry in case of deadlock, to make it easier to recover from this state.
  • [AO3-6510] - Same as above, but for the workers beavering away at storing hit counts and their comrades who are processing stats.
  • [AO3-6514] - Unfortunately, we ran into problems with the color picker added in the previous deploy, as not every browser's native color picker looks the same and some users reported issues with theirs. So we removed it again. Pouring one out for you, color picker.

0.9.342

The May 21 deploy contained some collection and tag set fixes as well as a bunch of invisible improvements.

  • [AO3-5942] - It's now possible to embed videos from bilibili.com!
  • [AO3-6492] - We have updated the text on both our Policy Questions & Abuse Reports page and the confirmation email sent out to people who have submitted a report.
  • [AO3-3867] - Works added to unrevealed or anonymous collections that were also moderated were effectively hidden from their creators (only accessible with the direct URL) while in the moderation queue. The creator can now find them by following the "Awaiting Collection Approval" link on their "Manage Collection Items" page.
  • [AO3-6194] - Users were previously unable to access more than the first 20 items on their Collection Items page unless they manually added the page number to the URL. We're now displaying the pagination links that were missing.
  • [AO3-6470] - Tag Wrangling admins can now download CSV files containing information about tags that were recently updated by our wranglers.
  • [AO3-6391] - Editing a character or relationship that was nominated in a tag set would remove it from the "Review Associations" page of the tag set. This has been fixed, so the suggested association is retained.
  • [AO3-5690] - If a user refused a gift work and then later deleted their account, the creator of the rejected work wasn't able to edit it anymore. Now they can.
  • [AO3-6429] - We removed the ARIA "complementary" role from work and chapter titles, summaries and notes in order to address an issue with Firefox's Reader View.
  • [AO3-5993] - We stopped supporting OpenID in 2012, and have now gotten around to removing some related tables from our database. \o/
  • [AO3-5684] - The JavaScript selector for leaving kudos is now more precise.
  • [AO3-6003] - We've added the i18n-tasks gem to normalize locale files and add tests to detect missing and unused translation keys.
  • [AO3-6460] - During times of heavy traffic, it was possible for an outdated AdminSetting record to be re-cached before its deletion. We changed the code to make sure updating the record deletes the old cache immediately.
  • [AO3-6524] - We addressed a vulnerability issue related to our help pop-ups and donation banner, making the Archive less vulnerable, but no less likely to hold many, many feelings.

0.9.343

On June 16, we expanded on our blocking feature, fixed a longstanding issue with comment notifications, and added some improvements for site admins.

  • [AO3-6517] - We previously introduced our blocking feature with an initial feature set of disallowing comments from blocked users. With this addition, blocked users are also unable to leave kudos.
  • [AO3-6250] - If you reply to a comment, your comment notification will now include the text of the comment you replied to, not just your own.\o/
  • [AO3-5499] - On the account administration page available to some site admins, we have added some more helpful data and navigation options.
  • [AO3-6044] - In our testing environment, it is now possible to submit a test abuse report for a page contained in the testing environment. Whoo!
  • [AO3-6490] - The options to disallow anonymous comments and enable comment moderation have now been added to the form for importing works.
  • [AO3-6278] - The pipe character (this one: |) was previously included in a work's word count, even though it's obviously not a word. If your word count mysteriously dropped overnight, you might have a pipe somewhere in your work, and we fixed that number for you. Sorry/you're welcome!
  • [AO3-6516] - On our DMCA Policy page, we have replaced references to Chilling Effects with the Lumen database.
  • [AO3-6119] - We've cleaned up some old code for allowing works to be added to collections automatically.
  • [AO3-6532] - Kyrgyz was removed from the list of languages to be exported by Phrase.
  • [AO3-6240] - The i18n-tasks gem can now be used to rename numbered mailer translation keys.

0.9.344

On June 26, we deployed AO3-6503, which allows site admins to disable guest comments across the entire Archive, if, for example, we're experiencing a severe wave of spam.

Edited 25 August, 2023, 20:40 UTC: Corrected the details for AO3-3867, which originally referred to the wrong page.

Comment


Pages Navigation