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: 27bf64affee672e39f361826ab22fa37d9d34a06 https://github.com/dreamwidth/dreamwidth/commit/27bf64affee672e39f361826ab22fa37d9d34a06 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-12 (Thu, 12 Feb 2026)

Changed paths: M cgi-bin/Apache/LiveJournal.pm M cgi-bin/Plack/Middleware/DW/SecurityHeaders.pm

Log Message:


Add Referrer-Policy: same-origin header to prevent username leaks

Fixes #3472

When users click external links from their reading page, the browser sends a Referer header containing their subdomain (e.g., bob.dreamwidth.org), allowing external sites to identify individual Dreamwidth users who clicked the link.

Adding Referrer-Policy: same-origin suppresses the Referer header for all cross-origin requests while preserving it for same-origin navigation. Since usernames are embedded in subdomains, weaker policies like origin-when-cross-origin or strict-origin would still leak the username.

Applied globally (not just reading pages) because external links can appear on any page -- entries, comments, profiles, etc.

Audited all Referer header usage in the codebase: - LJ::check_referer() (used ~15 places for CSRF): safe, returns true when referer is absent - Login ret=1 redirect: already broken (reads header_out not header_in) - OpenID continue_to: returnto param is primary, referer is fallback - EditIcons factory check: same-origin, unaffected - Media hotlink protection: check_referer passes on empty referer - VGift/Admin VGift: unaffected (same-origin or handles empty referer) - Tracking management: minor cosmetic impact only (cancel button and viewing style args lost for cross-subdomain navigation)

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: 7cdad0c67e2136733120d6331c8e55ffdf1bdae6 https://github.com/dreamwidth/dreamwidth/commit/7cdad0c67e2136733120d6331c8e55ffdf1bdae6 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-12 (Thu, 12 Feb 2026)

Changed paths: M cgi-bin/DW/Controller/Manage/Profile.pm M views/manage/profile.tt

Log Message:


Fix inability to remove retired "other sites" from profile (#3475)

The profile edit page never showed legacy userprop-based services (like ICQ) because the template checked IF profile_accts which is always truthy (empty hash ref). Changed to IF profile_accts.size to match the logic in ProfilePage.pm. Also fixed the legacy branch's missing counter parameter and increment, and guarded against inserting empty rows when clearing a legacy entry.

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: f66c51a5054ba9a085cd671abc8a3bc8d63223dc https://github.com/dreamwidth/dreamwidth/commit/f66c51a5054ba9a085cd671abc8a3bc8d63223dc Author: Mark Smith mark@dreamwidth.org Date: 2026-02-12 (Thu, 12 Feb 2026)

Changed paths: M cgi-bin/DW/Controller/Poll.pm

Log Message:


Fix multi-answer polls only recording last selected option

The poll form POST handler used Hash::MultiValue's hash access to read checkbox values, which only returns the last value per key. Flatten the Hash::MultiValue into a regular hash with comma-joined values, matching how the RPC/AJAX handler already does it. This only affected the non-JS form submission path.

Closes #3473

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: 094b2bd3a714dc1dc7b53af1b674d5854f801804 https://github.com/dreamwidth/dreamwidth/commit/094b2bd3a714dc1dc7b53af1b674d5854f801804 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-12 (Thu, 12 Feb 2026)

Changed paths: M cgi-bin/DW/Logic/ProfilePage.pm M cgi-bin/DW/Logic/UserLinkBar.pm M cgi-bin/LJ/Event/UserMessageRecvd.pm M cgi-bin/LJ/User/Message.pm

Log Message:


Make private message links respect remote's beta inbox selection

Centralize the inbox beta check in message_url and update all locations that build compose URLs: profile page, user link bar, hoverbox RPC, and email/inbox notification reply links.

Closes #3491

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: 8dbf8e57d9d5450a9f7ea6866e3d65892b6ab25a https://github.com/dreamwidth/dreamwidth/commit/8dbf8e57d9d5450a9f7ea6866e3d65892b6ab25a Author: Mark Smith mark@dreamwidth.org Date: 2026-02-12 (Thu, 12 Feb 2026)

Changed paths: M cgi-bin/LJ/Widget/ShopCart.pm

Log Message:


Fix undef error viewing cart in admin pay view

The admin_col and is_random closures in ShopCart.pm used $_ to access the cart item, but Template Toolkit passes arguments via @, not $. This caused admin_col to crash with "Can't call method 'id' on an undefined value" and is_random to silently always return 'N'.

Closes #3509

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: b8e245b8b1d1f0aba6ec605a73a0e1dfc2227833 https://github.com/dreamwidth/dreamwidth/commit/b8e245b8b1d1f0aba6ec605a73a0e1dfc2227833 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-12 (Thu, 12 Feb 2026)

Changed paths: M bin/upgrading/en.dat M views/create/account.tt.text

Log Message:


Add South Carolina to under-18 signup restriction

SC passed a law requiring parental monitoring for under-18 users. Update signup strings to include SC alongside TN.

Closes #3513

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: a182d9895fbc8e9709c71c4e4361f1ba83afec23 https://github.com/dreamwidth/dreamwidth/commit/a182d9895fbc8e9709c71c4e4361f1ba83afec23 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-12 (Thu, 12 Feb 2026)

Changed paths: M .github/workflows/ci.yml M app.psgi M cgi-bin/Apache/LiveJournal.pm A cgi-bin/DW/API/RateLimit.pm M cgi-bin/DW/Controller/API/REST.pm M cgi-bin/DW/Controller/API/REST/Journals.pm A cgi-bin/DW/RateLimit.pm M cgi-bin/LJ/Console/Command/Suspend.pm M cgi-bin/LJ/Test.pm A cgi-bin/Plack/Middleware/DW/RateLimit.pm M doc/dependencies-cpanm M doc/raw/memcache-keys.txt M etc/config.pl.example A t/rate-limit.t

Log Message:


Rate Limiting (#3490)

  • Add basic rate limiting module

  • Add configuration overrides

This enables rate limits to be overridden.

  • Add API rate limit basics

  • Update Apache rate limiting to use new DW::RateLimit API

Move rate limiting after start_request() so get_remote() works, switch to rate-string API and check() method. Also restore approvenew setting lost during rebase.

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

  • Add Plack rate limiting middleware

Port rate limiting from Apache::LiveJournal to a Plack middleware so it works under Starman. Same rates: 100/60s authenticated, 30/60s anonymous. Wired in after DW::Sysban in app.psgi.

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

  • Fix tidy formatting in rate limiting code

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

  • Add rate limit tests to CI workflow

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

  • Add CPAN dependency install step to CI workflow

The devcontainer image bakes dependencies at build time, so new deps added in a PR aren't available until the image rebuilds. Running cpm install from the checked-out dependencies-cpanm ensures CI always has the right modules for the code under test.

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

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: afbef380e3688886c022553c1ac994a9b999dc37 https://github.com/dreamwidth/dreamwidth/commit/afbef380e3688886c022553c1ac994a9b999dc37 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-10 (Tue, 10 Feb 2026)

Changed paths: M bin/upgrading/proplists.dat A cgi-bin/DW/Controller/Admin/Approve.pm M cgi-bin/DW/Controller/Create.pm M cgi-bin/DW/Hooks/PrivList.pm M cgi-bin/DW/Hooks/SiteSearch.pm M cgi-bin/DW/Setting/GlobalSearch.pm M cgi-bin/LJ/Console/Command/Suspend.pm M cgi-bin/LJ/Console/Command/Unsuspend.pm M cgi-bin/LJ/User/Account.pm M cgi-bin/LJ/User/Permissions.pm M etc/config.pl.example A views/admin/recent_accounts/review.tt A views/admin/recent_accounts/review.tt.text A views/admin/recent_accounts/suspend.tt A views/admin/recent_accounts/suspend.tt.text A views/admin/recent_accounts/user.tt A views/admin/recent_accounts/user.tt.text

Log Message:


Add /admin/recent_accounts for screening new accounts for spam

Adds an account approval system to screen new accounts for SEO spam. New accounts get a not_approved property set on creation. Admins can review accounts at /admin/recent_accounts, approving or flagging them. Flagged accounts can be batch-suspended. Unapproved accounts are excluded from site search, latest feeds, and random user display.

Review fixes: changed not_approved property from clustered (cldversion 4) to global (cldversion 0) and query userproplite instead of userproplite2; fixed suspend:recent priv check to allow users with both suspend:recent and suspend:openid to still use the console for OpenID suspensions.

Fixes #2824

Co-Authored-By: Kareila kareila@dreamwidth.org 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: 69b73bb3371d17d9d80379a20356e89a55abe86f https://github.com/dreamwidth/dreamwidth/commit/69b73bb3371d17d9d80379a20356e89a55abe86f Author: Mark Smith mark@dreamwidth.org Date: 2026-02-10 (Tue, 10 Feb 2026)

Changed paths: M cgi-bin/DW/External/Site.pm M cgi-bin/DW/External/Site/Delicious.pm M cgi-bin/DW/External/Site/Diigo.pm M cgi-bin/DW/External/Site/Imzy.pm M cgi-bin/DW/External/Site/Inksome.pm M cgi-bin/DW/External/Site/JournalFen.pm M cgi-bin/DW/External/User.pm R htdocs/img/external/imzy.png R htdocs/img/external/ink-community.gif R htdocs/img/external/ink-userinfo.gif

Log Message:


Style dead external services as unavailable

For dead external services (del.icio.us, Diigo, Imzy, Inksome, JournalFen), show a generic userhead icon and unlinked username with [SiteName] suffix instead of linking to the dead site. Remove unused site-specific icons for dead services.

Fixes #3139 Closes #3056

Co-Authored-By: Carly Ho carlymho@fastmail.com 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: 9c0e887414aecc86bf0d5b8762ac99392cb5deda https://github.com/dreamwidth/dreamwidth/commit/9c0e887414aecc86bf0d5b8762ac99392cb5deda Author: Mark Smith mark@dreamwidth.org Date: 2026-02-10 (Tue, 10 Feb 2026)

Changed paths: M bin/upgrading/en.dat A cgi-bin/DW/Controller/Manage/Tracking.pm A cgi-bin/DW/Hooks/SubscriptionNotifOpts.pm A cgi-bin/DW/Hooks/SubscriptionStats.pm M cgi-bin/LJ/User/Message.pm M cgi-bin/LJ/Web.pm M htdocs/manage/settings/index.bml M htdocs/manage/settings/index.bml.text R htdocs/manage/tracking/comments.bml R htdocs/manage/tracking/comments.bml.text R htdocs/manage/tracking/entry.bml R htdocs/manage/tracking/user.bml A views/tracking/manage.tt A views/tracking/manage.tt.text A views/tracking/settings-interface.tt A views/tracking/settings-interface.tt.text A views/tracking/subscribe-interface.tt A views/tracking/subscribe-interface.tt.text

Log Message:


Modernize subscribe interface and convert tracking pages to TT

Move subscribe_interface HTML from LJ/Web.pm into TT templates, extract subscription logic into LJ::User::Message methods and hooks, convert 3 BML pages under /manage/tracking to TT controllers, and simplify /manage/settings notification code.

Add form_auth check to tracking controller and use LJ::check_referer for referer validation.

Fixes #3217

Co-Authored-By: Kareila kareila@dreamwidth.org 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: 6dbc0529ac979d75453e49ab16fa870ef0bb736e https://github.com/dreamwidth/dreamwidth/commit/6dbc0529ac979d75453e49ab16fa870ef0bb736e Author: Mark Smith mark@dreamwidth.org Date: 2026-02-10 (Tue, 10 Feb 2026)

Changed paths: M cgi-bin/DW/Logic/ProfilePage.pm M views/profile/logic.tt.text

Log Message:


Hide website link for accounts younger than ten days

Hide the website URL on user profiles for accounts less than 10 days old to deter SEO spammers. Accounts with the suspend priv can always see the link. The account owner sees a message explaining why their link is hidden.

Fixes #2795 Original PR: #3142

Co-Authored-By: Carly Ho carlymho@fastmail.com 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

[dreamwidth/dreamwidth]

Feb. 10th, 2026 10:30 pm
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/dependabot/npm_and_yarn/api/js-yaml-4.1.1 Home: https://github.com/dreamwidth/dreamwidth

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: 1b02ca4c855c2fd71afa35cfd982cd9bec3d0b27 https://github.com/dreamwidth/dreamwidth/commit/1b02ca4c855c2fd71afa35cfd982cd9bec3d0b27 Author: dependabot[bot] <49699333+dependabot[bot][github.com profile] users> Date: 2026-02-10 (Tue, 10 Feb 2026)

Changed paths: M api/package-lock.json

Log Message:


Bump js-yaml from 4.1.0 to 4.1.1 in /api (#3507)

Bumps js-yaml from 4.1.0 to 4.1.1. - Changelog - Commits

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: 488fbe1d38a7190c1389c7c0c0a38b9f2c639a73 https://github.com/dreamwidth/dreamwidth/commit/488fbe1d38a7190c1389c7c0c0a38b9f2c639a73 Author: Jen kareila@dreamwidth.org Date: 2026-02-10 (Tue, 10 Feb 2026)

Changed paths: M cgi-bin/DW/Controller/MassPrivacy.pm

Log Message:


proper display of error messsages on the editprivacy page (#3505)

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: 1fa751f3896b4caaa6d532aaaa7f0b42da8ca7d5 https://github.com/dreamwidth/dreamwidth/commit/1fa751f3896b4caaa6d532aaaa7f0b42da8ca7d5 Author: Joshua Barrett jjbarr@ptnote.dev Date: 2026-02-10 (Tue, 10 Feb 2026)

Changed paths: M doc/dependencies-system M etc/docker/dev/Dockerfile M etc/docker/web/Dockerfile M etc/docker/web22/Dockerfile M etc/docker/worker/Dockerfile M etc/docker/worker22/Dockerfile

Log Message:


Add mysql-client to dependencies-system. (#3514)

It turns out that almost every container pulls in mysql-client as an "exclusive dependency". And if everyone's doing it, it's not exclusive, and it should be added to the global dependency list.

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

denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
[staff profile] denise posting in [site community profile] dw_news
Back in August of 2025, we announced a temporary block on account creation for users under the age of 18 from the state of Tennessee, due to the court in Netchoice's challenge to the law (which we're a part of!) refusing to prevent the law from being enforced while the lawsuit plays out. Today, I am sad to announce that we've had to add South Carolina to that list. When creating an account, you will now be asked if you're a resident of Tennessee or South Carolina. If you are, and your birthdate shows you're under 18, you won't be able to create an account.

We're very sorry to have to do this, and especially on such short notice. The reason for it: on Friday, South Carolina governor Henry McMaster signed the South Carolina Age-Appropriate Design Code Act into law, with an effective date of immediately. The law is so incredibly poorly written it took us several days to even figure out what the hell South Carolina wants us to do and whether or not we're covered by it. We're still not entirely 100% sure about the former, but in regards to the latter, we're pretty sure the fact we use Google Analytics on some site pages (for OS/platform/browser capability analysis) means we will be covered by the law. Thankfully, the law does not mandate a specific form of age verification, unlike many of the other state laws we're fighting, so we're likewise pretty sure that just stopping people under 18 from creating an account will be enough to comply without performing intrusive and privacy-invasive third-party age verification. We think. Maybe. (It's a really, really badly written law. I don't know whether they intended to write it in a way that means officers of the company can potentially be sentenced to jail time for violating it, but that's certainly one possible way to read it.)

Netchoice filed their lawsuit against SC over the law as I was working on making this change and writing this news post -- so recently it's not even showing up in RECAP yet for me to link y'all to! -- but here's the complaint as filed in the lawsuit, Netchoice v Wilson. Please note that I didn't even have to write the declaration yet (although I will be): we are cited in the complaint itself with a link to our August news post as evidence of why these laws burden small websites and create legal uncertainty that causes a chilling effect on speech. \o/

In fact, that's the victory: in December, the judge ruled in favor of Netchoice in Netchoice v Murrill, the lawsuit over Louisiana's age-verification law Act 456, finding (once again) that requiring age verification to access social media is unconstitutional. Judge deGravelles' ruling was not simply a preliminary injunction: this was a final, dispositive ruling stating clearly and unambiguously "Louisiana Revised Statutes §§51:1751–1754 violate the First Amendment of the U.S. Constitution, as incorporated by the Fourteenth Amendment of the U.S. Constitution", as well as awarding Netchoice their costs and attorney's fees for bringing the lawsuit. We didn't provide a declaration in that one, because Act 456, may it rot in hell, had a total registered user threshold we don't meet. That didn't stop Netchoice's lawyers from pointing out that we were forced to block service to Mississippi and restrict registration in Tennessee (pointing, again, to that news post), and Judge deGravelles found our example so compelling that we are cited twice in his ruling, thus marking the first time we've helped to get one of these laws enjoined or overturned just by existing. I think that's a new career high point for me.

I need to find an afternoon to sit down and write an update for [site community profile] dw_advocacy highlighting everything that's going on (and what stage the lawsuits are in), because folks who know there's Some Shenanigans afoot in their state keep asking us whether we're going to have to put any restrictions on their states. I'll repeat my promise to you all: we will fight every state attempt to impose mandatory age verification and deanonymization on our users as hard as we possibly can, and we will keep actions like this to the clear cases where there's no doubt that we have to take action in order to prevent liability.

In cases like SC, where the law takes immediate effect, or like TN and MS, where the district court declines to issue a temporary injunction or the district court issues a temporary injunction and the appellate court overturns it, we may need to take some steps to limit our potential liability: when that happens, we'll tell you what we're doing as fast as we possibly can. (Sometimes it takes a little while for us to figure out the exact implications of a newly passed law or run the risk assessment on a law that the courts declined to enjoin. Netchoice's lawyers are excellent, but they're Netchoice's lawyers, not ours: we have to figure out our obligations ourselves. I am so very thankful that even though we are poor in money, we are very rich in friends, and we have a wide range of people we can go to for help.)

In cases where Netchoice filed the lawsuit before the law's effective date, there's a pending motion for a preliminary injunction, the court hasn't ruled on the motion yet, and we're specifically named in the motion for preliminary injunction as a Netchoice member the law would apply to, we generally evaluate that the risk is low enough we can wait and see what the judge decides. (Right now, for instance, that's Netchoice v Jones, formerly Netchoice v Miyares, mentioned in our December news post: the judge has not yet ruled on the motion for preliminary injunction.) If the judge grants the injunction, we won't need to do anything, because the state will be prevented from enforcing the law. If the judge doesn't grant the injunction, we'll figure out what we need to do then, and we'll let you know as soon as we know.

I know it's frustrating for people to not know what's going to happen! Believe me, it's just as frustrating for us: you would not believe how much of my time is taken up by tracking all of this. I keep trying to find time to update [site community profile] dw_advocacy so people know the status of all the various lawsuits (and what actions we've taken in response), but every time I think I might have a second, something else happens like this SC law and I have to scramble to figure out what we need to do. We will continue to update [site community profile] dw_news whenever we do have to take an action that restricts any of our users, though, as soon as something happens that may make us have to take an action, and we will give you as much warning as we possibly can. It is absolutely ridiculous that we still have to have this fight, but we're going to keep fighting it for as long as we have to and as hard as we need to.

I look forward to the day we can lift the restrictions on Mississippi, Tennessee, and now South Carolina, and I apologize again to our users (and to the people who temporarily aren't able to become our users) from those states.
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: 5e94b4173f5cde8655bae27c54cf2c58f59318b7 https://github.com/dreamwidth/dreamwidth/commit/5e94b4173f5cde8655bae27c54cf2c58f59318b7 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-08 (Sun, 08 Feb 2026)

Changed paths: M cgi-bin/DW/Request/Plack.pm

Log Message:


Remove debug logging from DW::Request::Plack

Leftover info-level logs in header_in() and address() that fire on every request through the proxy 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: 20ed252f2bf4d768e186b84b26d9d28bd5333580 https://github.com/dreamwidth/dreamwidth/commit/20ed252f2bf4d768e186b84b26d9d28bd5333580 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-08 (Sun, 08 Feb 2026)

Changed paths: A src/dwtool/README.md

Log Message:


Add README for dwtool

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: eb6285917454cd7e23d011380d965a09b327158d https://github.com/dreamwidth/dreamwidth/commit/eb6285917454cd7e23d011380d965a09b327158d Author: Mark Smith mark@dreamwidth.org Date: 2026-02-08 (Sun, 08 Feb 2026)

Changed paths: M CLAUDE.md M t/00-compile.t

Log Message:


Skip all Apache2::Const modules in compile test

All five modules that import Apache2::Const are vulnerable to the same load-order issue: whichever loads first determines which constant groups get compiled, and subsequent use statements are no-ops. This only affects the shared-process test harness, not production where load order is controlled by mod_perl.

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: a6a9bebf1ab547544e60ff260464a20289d4f926 https://github.com/dreamwidth/dreamwidth/commit/a6a9bebf1ab547544e60ff260464a20289d4f926 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-08 (Sun, 08 Feb 2026)

Changed paths: A src/dwtool/.gitignore A src/dwtool/go.mod A src/dwtool/go.sum A src/dwtool/internal/aws/cloudwatch.go A src/dwtool/internal/aws/ecs.go A src/dwtool/internal/config/config.go A src/dwtool/internal/config/workers.go A src/dwtool/internal/github/github.go A src/dwtool/internal/model/types.go A src/dwtool/internal/ui/app.go A src/dwtool/internal/ui/dashboard.go A src/dwtool/internal/ui/deploy.go A src/dwtool/internal/ui/detail.go A src/dwtool/internal/ui/filter.go A src/dwtool/internal/ui/help.go A src/dwtool/internal/ui/keys.go A src/dwtool/internal/ui/logs.go A src/dwtool/internal/ui/styles.go A src/dwtool/main.go

Log Message:


Add dwtool — ECS deployment TUI for Dreamwidth

Bubble Tea-based terminal UI for managing ECS services, replacing the need to bounce between GitHub Actions, AWS Console, and CLI.

Features: - Dashboard with all ~42 services grouped by Web/Workers/Proxy - Service detail view with running tasks and metadata - Deploy flow: pick GHCR image, confirm, trigger GitHub Actions workflow - CloudWatch log viewer with follow mode and search - Shell access via ECS Exec (suspends TUI, resumes on exit) - Help overlay (?) and service filter (/) - Workers grouped by category from config/workers.json

Stack: Go 1.23, Bubble Tea v1, Lipgloss v1, aws-sdk-go-v2

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

Commit: 294403f553295d08487c34b625908d7813bb82a2 https://github.com/dreamwidth/dreamwidth/commit/294403f553295d08487c34b625908d7813bb82a2 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-08 (Sun, 08 Feb 2026)

Changed paths: M cgi-bin/DW/Request/Apache2.pm M t/00-compile.t

Log Message:


Revert Apache2::Const workaround, skip in compile test instead

Revert DW::Request::Apache2 back to the idiomatic mod_perl form. The load-order issue (earlier modules pre-loading Apache2::Const without :http) only manifests when all modules share one process in the test harness, not in production. Skip this module in t/00-compile.t rather than risk changing production behavior.

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

Compare: https://github.com/dreamwidth/dreamwidth/compare/3fe0010b6279...294403f55329

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

Profile

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
github

July 2012

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930 31    

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 13th, 2026 11:13 pm
Powered by Dreamwidth Studios