AO3 News

Post Header

Published:
2023-01-27 00:02:41 UTC
Tags:

We made a number of changes to our HTML parser, more behind-the-scenes improvements with no real common theme, and started off the new year with Ruby and database upgrades!

A special thank you to our first-time contributors Camila Noceda and albinantti!

Credits

  • Coders: albinantti, Brian Austin, Bilka, Camila Noceda, Ceithir, Cesium-Ice, EchoEkhi, Enigel, korrien, Potpotkettle, redsummernight, Sarken, Stephen Lewis, ticking instant, warlockmel, weeklies
  • Code reviewers: bingeling, Brian Austin, james_, Potpotkettle, redsummernight, Sarken, ticking instant
  • Testers: bingeling, Brian Austin, CJ Record, Claire Baker, Dasha, james_, Jennifer D2, lydia-theda, Mai Daye, Nary, Paula, Priscilla, Ranowa, redsummernight, Runt, Sammie Louise, Sarken, Teyke, ticking instant, V Snow

Details

0.9.327

Our November 15 release included allowing two new HTML tags in works and enabled RSS feeds for news posts in languages other than English.

  • [AO3-5242] - It was hard to close our help pop-ups on mobile because, if you scrolled past the bottom of the pop-up, the pop-up would reposition every time you tried to scroll back up to the Close button. We've stopped them from jumping around so you can now get to that button.
  • [AO3-5628] - If your work had draft chapters but only one posted chapter, various options for editing chapters were missing from the Edit Work page. We've made sure it will have the links for editing your draft chapters and for managing all of your chapters.
  • [AO3-5856] - When gift exchange moderators download a list of sign-ups in the CSV format, we now include the titles of both requests and offers.
  • [AO3-6089] - The script for creating site admins is no longer picky about which case you use when entering an admin's role -- typing SUPPORT will work just as well as support now.
  • [AO3-6286] - Users who have been suspended or permanently banned will now be unable to leave kudos.
  • [AO3-6290] - Our translators can now translate the chapter number information in emails sent to co-creators.
  • [AO3-6375] - Comments that are marked as spam or hidden by site admins will now be removed from users' inboxes.
  • [AO3-6419] - We sanitized parameters for creating prompts and sign-ups more thoroughly. 🧼
  • [AO3-6421] - Weird things used to happen if you tried to use single quotes inside HTML title attributes. Now expected things will happen instead.
  • [AO3-6337] - We removed some unused code in the collection items controller.
  • [AO3-6414] - When we upgraded to Rails 4 a hundred years ago, we had to explicitly include a bit of code (ActiveModel::ForbiddenAttributesProtection) in all of our models. That's done by default in the newer version we're on now, so we've tidied up and removed that code.
  • [AO3-4355] - You can now use the RSS Feed button to get feeds of AO3 News Posts in languages other than English.
  • [AO3-5745] - We added an option for prompt meme moderators to download a list of prompts in the CSV format.
  • [AO3-5781] - A little progress on internationalization: we added locale-specific digit grouping to the number of results on listings (works, bookmarks, etc.) and search pages. In the Archive's default locale (en-US), this means adding thousand separators.
  • [AO3-5934] - You can now use the figure and figcaption HTML tags in works!
  • [AO3-6410] - Our dependency-updating bot, Dependabot, now also helps us keep our GitHub Actions workflow up-to-date.

0.9.328

Our November 19 release involved some additional work on two issues from the November 15 release.

  • [AO3-6421] - Fixing title attributes that contained single quotes needed some follow-up work, so we did it.
  • [AO3-6410] - We also did some follow-up work related to allowing Dependabot to keep our workflow actions up to date.

0.9.329

On December 23, we made a number of changes to our HTML parser.

  • [AO3-3313] - The parser used to displace img tags within a tags. Used to.
  • [AO3-3565] - HTML tags for formatting text (e.g., italics, bold, and emphasis) can now span line break tags.
  • [AO3-3710] - Extra blank paragraphs are no longer added before blockquote tags when editing works.
  • [AO3-3769] - The text following center tags used to have weird line spacing because it wasn't enclosed in paragraph tags. Now it is properly treated and formatted as a paragraph.
  • [AO3-6421] - More work involving HTML title attributes containing single quotes? Yeah, more work involving HTML title attributes containing single quotes.
  • [AO3-6426] - We set GitHub Actions to not run our automated tests on the newest operating system versions, which do not have all the software packages we need.
  • [AO3-6424] - We asked Dependabot to label its pull requests on GitHub the same way humans do.
  • [AO3-6433] - We had a whole lot of old, one-time-use code without tests, and it was dragging our test score down. Rather than waste time writing tests for old code we'll never use again, we deleted the code.
  • [AO3-6436] - We updated our robots.txt file to disallow Common Crawl from scraping the Archive.

0.9.330

Our December 27 update included a variety of little changes we chose because they were easy to test.

  • [AO3-6418] - On the page for importing works, we updated the list of sites that don't allow imports to include Wattpad.
  • [AO3-6317] - Site admins who volunteer with Support are taking over a few tasks from Policy & Abuse (specifically, deleting duplicate works and managing Fannish Next of Kins), so we've updated their permissions and changed the relevant contact forms.
  • [AO3-6408] - We corrected the text on collections' tag clouds, which previously said the tags were the most popular tags on the entire site. Those pages actually show the most popular tags in the collection.
  • [AO3-5535] - We removed the series index, which was unused, and made sure you get a 404 error when attempting to go to the series page of a user who doesn't exist.
  • [AO3-6197] - We removed some unused variables from our config file.
  • [AO3-6393] - It used to be possible for a site admin to post a news post translation in the same language as the original post, e.g., an English translation of a post that was already in English. We never actually wanted to do this, but it would occasionally happen and we'd have to fix it. Now it's no longer possible to do that.
  • [AO3-6130] - When a site admin deletes a news post that has translations, all the translations will now be deleted as well. Yay, efficiency!
  • [AO3-6423], [AO3-6434], [AO3-6441], [AO3-6446], [AO3-6447] - We updated the Dalli, Sinatra, Nokogiri, Loofah, and Rails Html Sanitizer gems. And then we checked the capitalization of each of those names so we could write this summary.
  • [AO3-6224] - Trying to access the wrangling page for a nonexistent user now gives a 404 error because the page could not be found rather than a 500 error because the code was incapable of dealing with this scenario.
  • [AO3-6417] - Trying to access the gifts page for a nonexistent user will now give a 404 error instead of redirecting to the homepage.
  • [AO3-6443] - We removed some code that sent copies of tickets to a mailing list the Support team no longer uses.
  • [AO3-6421] - We tweaked the code for resanitizing input so it wouldn't add HTML to admin notes.

Release 0.9.331

We updated to Ruby 3.0 on January 8!

  • [AO3-6409] - Version 2.7 of our programming language, Ruby, is going to enter its end-of-life phase soon, so we upgraded from 2.7 to 3.0.

Release 0.9.332

...and then, on January 9, we fixed some things that broke when we updated to Ruby 3.0!

  • [AO3-6452] - For performance reasons, we update work hit counts in batches and on a delay rather than instantaneously. Removing the transaction_retry gem when we updated Ruby led to a high number of deadlocks in this process, so we started sorting the batches to avoid those errors.
  • [AO3-6453] - The library we use to talk to our third-party spam checker is pretty old and was using a bit of code that is no longer available in Ruby 3.0, so any time we tried to check something (e.g., guest comments) for spam, we'd get an error. We've implemented a workaround until we can move away from the library.

Releases 0.9.333 - 0.9.335

We made some behind-the-scenes changes related to our database structure and improved the code for moving certain types of data from our temporary database to our canonical database on January 11, January 18, and January 21.

  • [AO3-6438] - To make things tidier, we've started excluding the innodb_monitor table from our schema dumps.
  • [AO3-6456] - MariaDB, our new relational database, works better when all of the tables have primary keys, so we added them to the two small tables that were missing them: roles_users and schema_migrations.
  • [AO3-6455], [AO3-6457], [AO3-6458], [AO3-6459], [AO3-6462] - When we changed our database software from MySQL to MariaDB, we also switched to new database servers with hardware issues. Because of the slowdown in database performance, some of our jobs for moving data from our temporary database into our canonical one stopped working properly: saving users' reading history; updating numbers of comments, bookmarks, and kudos for searching works; and updating numbers of works using tags for wranglers. We've updated the code so these jobs will scale better and play nicely with the database even when things are a little slow.