github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 472e7ca0671a6f37896549ef3e935b8cfdd52f03 https://github.com/dreamwidth/dreamwidth/commit/472e7ca0671a6f37896549ef3e935b8cfdd52f03 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: M bin/worker/ses-incoming-email

Log Message:


Fix SES worker to expect S3 action notifications

The SNS notification now comes from the S3 action's topic_arn (terraform change), so receipt.action will always be type S3. Revert the non-S3 skip to a proper error since it would indicate a misconfiguration.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Commit: 4895912982e33afbf41b439bc7d38d1a625b25b7 https://github.com/dreamwidth/dreamwidth/commit/4895912982e33afbf41b439bc7d38d1a625b25b7 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-17 (Tue, 17 Feb 2026)

Changed paths: M bin/worker/dw-embeds M cgi-bin/DW/Task.pm M cgi-bin/DW/TaskQueue.pm M cgi-bin/DW/TaskQueue/SQS.pm M t/taskqueue-dedup.t

Log Message:


Add max_retries support to TaskQueue to avoid DLQ pileup

Failed SQS tasks that exceed the receive count threshold are now marked complete instead of being left for the dead letter queue. The SQS layer passes ApproximateReceiveCount through to tasks, and start_work checks it against a configurable max_retries option. Applied to dw-embeds where unreachable remote hosts cause repeated failures that fill the DLQ.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Compare: https://github.com/dreamwidth/dreamwidth/compare/6792621c5547...4895912982e3

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

H2O: Just Add Water

Wednesday, 18 February 2026 10:22 am
scaramouche: Nikita Ager as a mermaid in water (mermaid)
[personal profile] scaramouche
It does feel weird to look back and see that H2O: Just Add Water was influential to modern mermaid media. Not as much as Splash, of course, but a decent amount. Do not cite the deep magic to me etc., I was there when the show premiered and a gajillion (I exaggerate) people told me about it and although I did check it out then, I only followed along into a third of the first season. TV shows were very different in 2008, and by then I'd lost interest (or outgrown) these kinds of stories.

Now, however, it is a delight! I paced myself through watching the whole first season, and despite only being ~25 mins per episode, 26 episodes a season is an embarrassment of riches. So much content! So many little stories where the girls are Put In Different Situations, and thanks to the past near-two-decades of media trends, I do love it when characters are Put In Different Situations instead of it being One Long Situation Where the Major Catharsis Only Happens At the End of the Season! The theme song is also so great, I've been letting it play out every time and eventually started singing along, both for the opening and longer ending.



The first few episodes have the girls getting used to their powers (I love that Cleo is the one who decides to not let it limit her options), but then it settles into a status quo and although the quality is uneven, a lot of the episodes are SO much fun, and I haven't laughed that hard for a while as I did for the Siren Effect episode, when Cleo gains siren powers and enchants all the boys in the neighbourhood into being idiots. Then there's The Big Chill where Emma straight up almost accidentally MURDERS the popular girl with her freeze powers, and that's not an euphemism, but the show took care to talk around the stakes instead of using words like "corpse", "kill" or "dead", which was so, SO funny. A+, 'tis delightful, only capable when everyone's committed to the light-hearted tone and are decent comic actors. You really appreciate good comic acting after you've watched so much bad comic acting.

So much so that my stomach dropped at the last few episodes of the season when the tension ramped up as the girls' secret is about to be uncovered. I don't need that! I just want bite-sized fun romps! And unfortunately I accidentally read an overview of season 2 and I have never enjoyed the trope where a TV show introduces an interloper who has the abilities/skills of the main characters but are "better" at it, but hopefully the execution is better than it sounds. A team of three evil mermaids to rival the main trio WOULD have been fun, though, since that's more equal opportunity competitiveness instead of usurpation.

Random observation: the first season came out in 2008, and Lewis uses the word "googling". I think that was more a sign of his nerdery than normalized lingo, but interesting in terms of looking at the show as a time capsule.

More, cut for length. )

The energy of season one as a whole is so charming and fluffy, so I might take a break and continue into season 2 later.
github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 6792621c554719720fc25eba12b4ea612264cb73 https://github.com/dreamwidth/dreamwidth/commit/6792621c554719720fc25eba12b4ea612264cb73 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: M bin/worker/ses-incoming-email M cgi-bin/DW/IncomingEmail.pm

Log Message:


Fix log levels in SES incoming email pipeline

  • Skip non-S3 action notifications at info level (expected duplicate from SNS action, not an error)
  • Empty email data is warn, not error
  • No support category match is info, not error (normal for non-support mail)

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: def63d7f03f190bc1a99d4fd648fa0f1424b6960 https://github.com/dreamwidth/dreamwidth/commit/def63d7f03f190bc1a99d4fd648fa0f1424b6960 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: A .github/workflows/tasks/worker-ses-incoming-email-service.json R .github/workflows/worker-build.yml R .github/workflows/worker-deploy.yml M .github/workflows/worker22-deploy.yml M config/update-workflows.py

Log Message:


Deprecate 18.04 workers

Also add deploy for new ses-incoming-email worker.

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: bba49ec2ee390e6882eda0b8004c6c57beacad9e https://github.com/dreamwidth/dreamwidth/commit/bba49ec2ee390e6882eda0b8004c6c57beacad9e Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: A bin/worker/ses-incoming-email A cgi-bin/DW/IncomingEmail.pm M cgi-bin/DW/Task/IncomingEmail.pm M config/workers.json A t/incoming-email.t

Log Message:


Add SES incoming email worker and shared processing pipeline

Extract email processing logic from DW::Task::IncomingEmail into DW::IncomingEmail so both the legacy TaskQueue worker and the new SES-based worker share the same pipeline. Remove obsolete spam filtering (subject heuristics, body checks, virus signatures, bounce detection) — SES handles this upstream now.

New components: - DW::IncomingEmail: shared processing (MIME parsing, hooks, post-by-email, alias forwarding with From-rewriting, support routing, multi-domain normalization via [profile] lj::INCOMING_EMAIL_DOMAINS) - bin/worker/ses-incoming-email: SQS-polling worker that receives SNS notifications from SES, fetches email from S3, checks SES spam/virus verdicts, and delegates to DW::IncomingEmail - t/incoming-email.t: tests for process flow, From-rewriting with per-sender SHA256 hash, and domain normalization

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

SGA: on purpose by dedkake

Tuesday, 17 February 2026 04:21 pm
mific: (John eyeroll Rodney frazzled)
[personal profile] mific posting in [community profile] fancake
Fandom: Stargate Atlantis
Characters/Pairings: John Sheppard/Rodney McKay
Rating: Teen
Length: 2492
Content Notes: no AO3 warnings apply
Creator Links: dedkake on AO3
Themes: Inept in love, Pining, Five things, Friends to lovers

Summary: The thing is, he hadn’t really meant to say it. Not then. Not there. He hadn’t really ever even thought about it before, not in such specific terms. So, it’s as much of a shock to him as it is to anyone else.

or, Rodney's trying so hard and John just doesn't get it.

Reccer's Notes: This is a fun read that makes you want to hit them both upside the head just a little. Rodney keeps telling John how he feels (or trying to), and John keeps missing the point each time, so they're both inept in different ways. Until they aren't!

Fanwork Links: on purpose

YEAR OF HORSE

Tuesday, 17 February 2026 09:46 am
scaramouche: Malaysian dreamwidth sheep (dreamwidth sheep baaa)
[personal profile] scaramouche


We're having a rainy Chinese New Year this time, which is quite unusual, though I vaguely remember we've had that before recently. Maybe the stereotype of a super hot CNY is no longer as typical?

Good Omens: Love is a Curious Thing ghost_daddy

Monday, 16 February 2026 01:34 pm
kingstoken: (Animated Aziraphale Crowley)
[personal profile] kingstoken posting in [community profile] fancake
Fandom: Good Omens
Pairings/Characters: Aziraphale/Crowley
Rating: G
Length: 984 words
Creator Links: ghost_daddy
Theme: inept in love

Summary: Aziraphale knows that Crowley is in love with someone. He just doesn't know who.

When he asks him, it doesn't go quite as he planned.

Reccer's Notes: A cute little fic where Aziraphale asks Crowley who his sweetheart is, and Crowley is flabbergasted that Aziraphale doesn't know.  Its in character, I could have seen them having this discussion after season 1. 

Fanwork Links: Ao3
github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 09b2fa09012b1edc5f23883029cf12a5a045bcc4 https://github.com/dreamwidth/dreamwidth/commit/09b2fa09012b1edc5f23883029cf12a5a045bcc4 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: M config/workers.json

Log Message:


Add SQS queue names, so we can target autoscaling to queue depth

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: e18e34f910eb489a5d0daa40f93e2024cff9bbc2 https://github.com/dreamwidth/dreamwidth/commit/e18e34f910eb489a5d0daa40f93e2024cff9bbc2 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: M .github/workflows/ci.yml M t/plack-auth.t M t/plack-integration.t M t/plack-media.t M t/plack-subdomain.t M t/plack-sysban.t

Log Message:


Expand CI to run plack, cleaner, and routing tests

Rename the workflow to "CI (fast)" and add plack integration, text cleaner, and routing test steps. Fix pre-existing test failures caused by the rate-limiting middleware interfering with unrelated tests: mock DW::RateLimit, session resolution, sysban, and uniq cookie in tests that don't exercise those concerns. Fix routing mock in sysban and subdomain tests to return 0 (handled) instead of undef (which fell through to BML). Suppress 'used only once' warnings across plack test files.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 7f5a36ba49391219cb773eeb2ee5248be3b9ac09 https://github.com/dreamwidth/dreamwidth/commit/7f5a36ba49391219cb773eeb2ee5248be3b9ac09 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: M cgi-bin/Plack/Middleware/DW/Auth.pm M t/plack-auth.t

Log Message:


Fix domain session cookie bounce not firing under Plack

When a user's domain session cookie is stale (e.g. after re-login gives them a new session ID), the Plack Auth middleware detected the mismatch and set the bounce URL but never actually redirected. The page would render as logged-out instead of bouncing through /misc/get_domain_session to refresh the cookie.

Add the redirect check to the Auth middleware's else branch so all Plack-served pages (journal views, controllers, etc.) get the bounce. Also fix pre-existing test failures in plack-auth.t where MockUser was missing the userid method needed by the RateLimit middleware.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 2c6ed3dd318302532b2c0133e45b97cd1c0b8a1d https://github.com/dreamwidth/dreamwidth/commit/2c6ed3dd318302532b2c0133e45b97cd1c0b8a1d Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: M config/workers.json

Log Message:


Update some worker knobs for autoscaling

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

Theme Reminder: Inept in Love

Monday, 16 February 2026 09:11 am
runpunkrun: combat boot, pizza, camo pants = punk  (punk rock girl)
[personal profile] runpunkrun posting in [community profile] fancake
Photograph of two kingfishers perched on a branch. One is surrounded by a cloud of pink love hearts and the other has a single question mark over its head. Text: Inept in Love, at Fancake.
github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 3fd45fe55656253ccaed8ddc4c334fbbe58dea9c https://github.com/dreamwidth/dreamwidth/commit/3fd45fe55656253ccaed8ddc4c334fbbe58dea9c Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: M .gitignore R terraform/cluster.tf R terraform/iam.tf R terraform/import.sh R terraform/load-balancing.tf R terraform/locals.tf R terraform/providers.tf R terraform/proxy.tf R terraform/security-groups.tf R terraform/web.tf R terraform/workers.tf

Log Message:


Remove terraform from repo

Moving to a private repo. This has limited utility for public viewing, and I want to import our more sensitive configurations.

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 7fcb2afac08b97a4cb7f1905055a4fc9e7aeb7b4 https://github.com/dreamwidth/dreamwidth/commit/7fcb2afac08b97a4cb7f1905055a4fc9e7aeb7b4 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-15 (Sun, 15 Feb 2026)

Changed paths: M .github/workflows/web-build.yml M .github/workflows/web22-build.yml

Log Message:


Add app.psgi to web build workflow path triggers

Changes to the Plack entrypoint weren't triggering automatic web image rebuilds.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 081042e7a5b88b3eae282f82dcb6bf1bfcd4fc3c https://github.com/dreamwidth/dreamwidth/commit/081042e7a5b88b3eae282f82dcb6bf1bfcd4fc3c Author: Mark Smith mark@dreamwidth.org Date: 2026-02-15 (Sun, 15 Feb 2026)

Changed paths: M app.psgi M t/plack-subdomain.t

Log Message:


Fix journal subdomain root URI showing homepage instead of journal

DW::Routing->call() in app.psgi was called without a username, so it always used the 'app' role. The homepage route (registered as app-only via /index) matched '/' on journal subdomains, returning a defined value that prevented the journal rendering block from running.

Pass the journal username (from dw.journal_user, set by SubdomainFunction middleware) to routing so it uses the 'user' role, where app-only routes like the homepage don't match.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: ef55ebecc55780c8bda7b40475f05425fc9a3fe7 https://github.com/dreamwidth/dreamwidth/commit/ef55ebecc55780c8bda7b40475f05425fc9a3fe7 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-15 (Sun, 15 Feb 2026)

Changed paths: M cgi-bin/LJ/SynSuck.pm

Log Message:


Fix double-delay causing failcount to increment twice per check

Move delay() calls after set_prop() so that if set_prop throws an exception, the exception handler in DW::Task::SynSuck is the only caller of delay(), not a second one on top of an already-completed delay().

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 55d1983593d30fd637a0f5303249894099cc5790 https://github.com/dreamwidth/dreamwidth/commit/55d1983593d30fd637a0f5303249894099cc5790 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-15 (Sun, 15 Feb 2026)

Changed paths: R bin/maint/synsuck.pl M bin/maint/taskinfo.txt M bin/upgrading/update-db-general.pl M cgi-bin/DW/Controller/Misc.pm M cgi-bin/DW/Task/SynSuck.pm M cgi-bin/LJ/Console/Command/SynEdit.pm M cgi-bin/LJ/Feed.pm M cgi-bin/LJ/SynSuck.pm

Log Message:


Add exponential backoff for dead syndicated feeds

Dead feeds (HTTP errors, DNS failures, parse errors) were polled every 1-3 hours forever with no escalation. Add a failcount column to the syndicated table and apply exponential backoff: base_delay * 2^min(failcount, 7), capped at 30 days. Dead feeds settle into ~monthly polling instead of ~2,920 wasted requests per year.

Three backoff modes: escalate (feed/account errors), reset (success or not-modified), hold (our infrastructure issues like nodb/posterror). Reset failcount on URL change (syn_edit), feed merge, and REST ping.

Also converts SynSuck verbose print statements to Log::Log4perl, removes the now-drained legacy synsuck.pl maint worker, and fixes an out-of-scope $user reference in parse_items_from_feed().

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

Profile

yati: Flonne squishing Laharl (Disgaea) while waving one arm (Default)
Yati

September 2013

M T W T F S S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Elsewhere on the internet

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Wednesday, 18 February 2026 08:08 am
Powered by Dreamwidth Studios