In recent releases, we wrapped up changes to the kudos table and began caching works for logged out users. We've also made improvements to subscriptions, spam-checking, the Statistics page, and addressed issues with the Terms of Service prompt.

A special thank you to our first-time contributor teyla!

Credits

Coders: bird, james_, redsummernight, Sarken, Tal Hayon, teyla, ticking instant, Z

bird, james_, redsummernight, Sarken, Tal Hayon, teyla, ticking instant, Z Code reviewers: james_, redsummernight, Sarken, ticking instant

james_, redsummernight, Sarken, ticking instant Testers: bingeling, coaldustcanary, GoldenFalls, Irina, james_, Lady Oscar, lydia-theda, MagnusIsMyRock, nimadge, Paula, Ranowa, Rebecca Sentance, redsummernight, Sammie Louise, Sarken, teyla

Details

Performance

[AO3-5162] - The site used to remember the name and email address that guests entered on the comment form, making it so they didn't have to reenter the information every time they left a comment. Unfortunately, we had to remove this code so we could begin caching work pages.

[AO3-5906] - As a side effect of our new caching measures, logged out users were being shown the adult content warning on every work rated Mature, Explicit, or Not Rated -- and when navigating between chapters of those works to boot. We've changed how we're setting the cookie that remembers you've already pressed the "Proceed" button on the warning and made a few tweaks to nginx, and now visitors should only see the adult content warning once per browser session.

Subscriptions

[AO3-5040] - You'll now get subscription emails for any anonymous works you've subscribed to. (But you won't get an email if a creator you've subscribed to posts an anonymous work -- that would ruin their anonymity.)

[AO3-5708] - A long time ago, we added some code to cancel the delivery of emails in certain situations, e.g. if you were subscribed to a creator who added their brand new work to an anonymous collection after posting, but before the subscription email went out. Rails 5 lets us handle situations like that without extra code, so we've gotten rid of it.

GDPR

[AO3-5497] - To comply with the GDPR, we present visitors with a prompt asking them to agree to the Terms of Service before using the site. When they agree to them, we set a cookie in their browser that is supposed to keep the prompt from reappearing for them. This wasn't working for some visitors, though, so we've decided to see if it works better if we switch to JavaScript's local storage feature.

[AO3-5915] - Our new approach to remembering whether visitors agreed to the Terms of Service didn't work in private mode in a few older browsers. So now we're checking if a visitor's browser supports local storage properly, and if not, using a cookie to remember whether we should show them the Terms of Service prompt.

[AO3-5917] - Some browsers didn't like our new approach to writing cookies or local storage items, particularly if you were in private mode, so we found yet another way to hide the TOS prompt once you've agreed to it.

Kudos

[AO3-5859] - Kudos used to belong to pseuds, but we're updating them so they belong to users instead. As part of this process, we've updated the kudos list on works to always list kudos-givers by their usernames, instead of sometimes displaying "pseud (username)".

[AO3-5887] - We've gotten rid of the column that stored pseud IDs in the kudos table and removed any code or tests related to it. We are so glad to be done with this migration!

Miscellany

[AO3-5193] - Wranglers used to be able to turn a canonical tag into a synonym in one fell swoop just by entering the new canonical tag in the "Synonym of" field on the tag edit page. Because it was too easy to do this accidentally, we've made it so only admins have access to that field on canonical tags' edit pages.

[AO3-5821] - We've made a couple tweaks to the graph on users' Statistics pages: the vertical axis will never start at a number other than zero, and now the bars on the graph are a slightly faded Archive red rather than bright Google blue.

[AO3-5908] - Visiting a multi-chapter work on the insecure site would redirect you to the secure site, which was terribly inconvenient if you were using the insecure site because you can't access the secure site. (It's the only reason you should use it.) We've made it so you'll stay on the insecure site.

[AO3-4539] - Our spam blocker occasionally prevents legitimate support tickets and abuse reports from being submitted. Because reports and tickets from logged in users are generally not created by spam bots, we've stopped running the spam check for them.

Behind-the-scenes miscellany