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

Changed paths: A .github/workflows/tasks/worker-dw-latest-feed-service.json A .github/workflows/tasks/worker-dw-lazy-cleanup-service.json A .github/workflows/tasks/worker-dw-mass-privacy-service.json A .github/workflows/tasks/worker-dw-synsuck-service.json M .github/workflows/worker-deploy.yml M bin/importadm A bin/worker/dw-latest-feed A bin/worker/dw-lazy-cleanup A bin/worker/dw-mass-privacy A bin/worker/dw-synsuck M bin/worker/schedule-synsuck M cgi-bin/DW/Hooks/SiteSearch.pm M cgi-bin/DW/LatestFeed.pm M cgi-bin/DW/Pay.pm M cgi-bin/DW/Task.pm A cgi-bin/DW/Task/DeleteEntry.pm A cgi-bin/DW/Task/LatestFeed.pm A cgi-bin/DW/Task/MassPrivacy.pm A cgi-bin/DW/Task/SynSuck.pm M cgi-bin/DW/TaskQueue.pm A cgi-bin/DW/TaskQueue/Dedup.pm M cgi-bin/DW/Worker/ContentImporter/LiveJournal/Comments.pm M cgi-bin/DW/Worker/ContentImporter/LiveJournal/Entries.pm M cgi-bin/LJ/Entry.pm M cgi-bin/LJ/MassPrivacy.pm M cgi-bin/LJ/Protocol.pm M cgi-bin/LJ/Talk.pm M config/workers.json A t/taskqueue-dedup.t M terraform/load-balancing.tf

Log Message:


TheSchwartz deprecation [1 of 4] (#3510)

  • Add TaskQueue dedup infrastructure and DW::Task enhancements

Add DW::TaskQueue::Dedup module for memcache-based task deduplication. Extend DW::Task with uniqkey/dedup_ttl support for opt-in dedup. Add dedup claim/release logic to DW::TaskQueue dispatch and start_work.

No behavior change: existing TheSchwartz dispatch path is preserved. New infrastructure is available but nothing uses it yet.

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

  • Add low-risk task classes and switch dispatch paths

Add DW::Task::LatestFeed, DeleteEntry, MassPrivacy, and SynSuck task classes with corresponding dw-* worker scripts. Switch dispatch call sites from TheSchwartz to DW::TaskQueue for these tasks and for SphinxCopier (which already exists as a DW::Task).

Old TheSchwartz worker packages are preserved so existing workers can drain remaining jobs from TheSchwartz queues during transition.

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

  • Add ECS workflow definitions for low-risk SQS workers

Add dw-latest-feed, dw-lazy-cleanup, dw-mass-privacy, and dw-synsuck worker definitions. Old TheSchwartz workers kept for queue draining.

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

  • Replace taskopts sentinel with with_dedup() builder and add tests

Replace the fragile taskopts sentinel flag in DW::Task::new with a with_dedup() builder method on the base class. Any task subclass can chain ->with_dedup(uniqkey => ..., dedup_ttl => ...) without needing to override new(), which scales cleanly as more tasks adopt dedup.

Add t/taskqueue-dedup.t with 32 tests covering task construction, with_dedup, Storable round-trip, subclass construction, and DW::TaskQueue::Dedup claim/release/is_pending logic.

Tidyall formatting fixes for files touched by the branch.

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

  • Fix error handling in new task workers to match TheSchwartz semantics

In TheSchwartz, die was caught and the job was retried. In DW::TaskQueue, die propagates up and crashes the worker process. Wrap all code paths that can die in eval and return FAILED so SQS redelivers the message.

Also fix MassPrivacy missing-args guard to return COMPLETED instead of FAILED — missing args is a permanent failure that retrying won't fix.

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

  • Add new SQS worker definitions to config/workers.json

Add dw-latest-feed, dw-lazy-cleanup, dw-mass-privacy, and dw-synsuck entries so Terraform creates ECS services for the new SQS-based workers. Scaling matches the old TheSchwartz equivalents they replace.

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

  • Align terraform load-balancing config with production state

Update listener rules, target group health checks, and listener default actions to match what's actually running in prod, eliminating plan drift. Also convert proxy listeners from target_group_arn shorthand to explicit forward blocks to prevent provider-level format drift, and remove ignore_changes on conditions now that TF matches reality.

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

Changed paths: M bin/upgrading/update-db-general.pl R bin/worker/esn-cluster-subs R bin/worker/esn-cluster-subs-mass R bin/worker/esn-filter-subs R bin/worker/esn-filter-subs-mass R bin/worker/esn-fired-event R bin/worker/esn-fired-event-mass R bin/worker/esn-process-sub R bin/worker/esn-process-sub-mass R bin/worker/process-esn R bin/worker/process-esn-mass M cgi-bin/DW/TaskQueue.pm M cgi-bin/DW/TaskQueue/LocalDisk.pm M cgi-bin/LJ/ESN.pm M cgi-bin/LJ/Event.pm M cgi-bin/LJ/Event/OfficialPost.pm M config/workers.json M src/dwtool/internal/config/workers.go M terraform/import.sh

Log Message:


Remove legacy TheSchwartz ESN workers and ESN_OVER_SQS tunable (#3520)

  • Remove legacy TheSchwartz ESN workers and ESN_OVER_SQS tunable

$LJ::ESN_OVER_SQS has been 1 in production, meaning 100% of ESN events route through DW::TaskQueue (SQS). The four legacy TheSchwartz-based ESN workers are consuming no work. This removes the legacy path entirely so ESN always uses the modern DW::Task::ESN::* pipeline.

  • DW::TaskQueue dispatch() now unconditionally calls fire_task for events
  • LJ::Event::fire_job() removed; process_fired_events() rewritten to drain DW::TaskQueue synchronously (used by tests)
  • LJ::ESN: removed schwartz_capabilities(), process_fired_events(), jobs_of_unique_matching_subs(), and all four LJ::Worker::* packages
  • Deleted 10 legacy worker scripts from bin/worker/
  • Removed esn-legacy entries from workers.json and dwtool CategoryOrder
  • LocalDisk::receive() gains optional wait_secs param (default 10) so process_fired_events can do non-blocking receives

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

  • Remove dead schwartz_role methods from LJ::Event

schwartz_role was used by the legacy TheSchwartz ESN workers (removed in the previous commit) to route certain event types to the mass job database. No code calls these methods anymore.

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

  • Remove sch_mass_* table DDL from update-db-general.pl

These TheSchwartz tables were used by the mass ESN workers to process high-volume events on a separate job database. No code reads from or writes to them anymore — all ESN goes through DW::TaskQueue/SQS. The tables will remain in existing databases until manually dropped.

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

  • Remove legacy esn-* worker names from terraform import script

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

Changed paths: M htdocs/js/jquery.inbox.js

Log Message:


Fix mobile folder toggle breaking after inbox actions (#3480) (#3518)

The folder button click handler was bound directly to #folder_btn, but AJAX actions replace #inbox_folders innerHTML, destroying the element and its handler. Use event delegation from #inbox_folders so the handler survives DOM replacement.

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

Changed paths: M cgi-bin/Apache/LiveJournal.pm M cgi-bin/DW/Controller/Talk.pm M cgi-bin/LJ/DB.pm M cgi-bin/LJ/ESN.pm M cgi-bin/LJ/Event.pm M cgi-bin/LJ/MemCache.pm M cgi-bin/LJ/NotificationItem.pm M cgi-bin/LJ/NotificationMethod.pm R cgi-bin/LJ/NotificationMethod/DebugLog.pm M cgi-bin/LJ/S2.pm M cgi-bin/LJ/Session.pm M cgi-bin/LJ/Subscription.pm M cgi-bin/LJ/SynSuck.pm M cgi-bin/LJ/Talk.pm M cgi-bin/LJ/User/Message.pm M cgi-bin/LJ/Widget.pm

Log Message:


Remove all $LJ::DEBUG flag usage and LJ::NotificationMethod::DebugLog

These debug flags haven't been set in production in over a decade. Removes 16 distinct debug flags across 15 files, the now-unused DebugLog notification method class, and the Mac IE 5 / extra dot cookie workarounds from Session.pm.

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

Changed paths: M src/dwtool/internal/ui/app.go M src/dwtool/internal/ui/help.go M src/dwtool/internal/ui/keys.go

Log Message:


Add Page Up/Page Down support to 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: 7ca3352f3f3f57b92d8cfce250f7ceb704085e33 https://github.com/dreamwidth/dreamwidth/commit/7ca3352f3f3f57b92d8cfce250f7ceb704085e33 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-15 (Sun, 15 Feb 2026)

Changed paths: M src/dwtool/internal/ui/app.go M src/dwtool/internal/ui/dashboard.go M src/dwtool/internal/ui/deploy.go M src/dwtool/internal/ui/help.go M src/dwtool/internal/ui/keys.go

Log Message:


Add Ctrl+D to deploy all workers in a category

When pressing Ctrl+D on any worker, dwtool identifies the worker's category (email, esn, importer, etc.) from the dashboard group header, collects all workers in that category, and runs the standard deploy flow (target -> image -> confirm -> progress) with one GitHub Actions workflow dispatch per worker and per-worker status tracking.

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

Changed paths: M cgi-bin/DW/Captcha/reCAPTCHA.pm

Log Message:


Fix tidyall formatting in reCAPTCHA.pm

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

Changed paths: M cgi-bin/Plack/Middleware/DW/Sysban.pm M cgi-bin/Plack/Middleware/DW/XForwardedFor.pm M doc/PLACK.md

Log Message:


Consistently use LJ::get_remote_ip() and update PSGI env in XForwardedFor

Sysban was reading $env->{REMOTE_ADDR} directly instead of using LJ::get_remote_ip(). Also have XForwardedFor set $env->{REMOTE_ADDR} after resolving the real client IP so that PSGI infrastructure like the Starman access log sees the correct address.

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

Changed paths: M src/dwtool/go.mod M src/dwtool/go.sum M src/dwtool/internal/aws/ecs.go A src/dwtool/internal/aws/elbv2.go M src/dwtool/internal/config/config.go M src/dwtool/internal/model/types.go M src/dwtool/internal/ui/app.go M src/dwtool/internal/ui/detail.go M src/dwtool/internal/ui/help.go M src/dwtool/internal/ui/keys.go A src/dwtool/internal/ui/traffic.go

Log Message:


Add ALB traffic weight control to dwtool

Interactive TUI for viewing and adjusting ALB target group weights, accessible from the dashboard or service detail view via 't' key. Supports manual weight adjustment (arrow keys ±10), presets (all primary, all secondary, even split, maintenance), and a confirmation diff before applying changes via Shift+Y.

Discovers the ALB listener rules by matching target group names to service keys. Handles both regular rules (ModifyRule) and the listener default action (ModifyListener) for web-unauthenticated.

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

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

Changed paths: M terraform/load-balancing.tf

Log Message:


Add missing dw-maint target group to unauthenticated listener default action

The default action was missing the dw-maint target group entry, which is needed for the traffic weight control in dwtool to be able to shift unauthenticated traffic to the maintenance backend.

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

Compare: https://github.com/dreamwidth/dreamwidth/compare/a16c0dc6a2b0...62d15b22cab6

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

Changed paths: M cgi-bin/DW/Captcha/reCAPTCHA.pm M cgi-bin/Plack/Middleware/DW/RateLimit.pm

Log Message:


Use LJ::get_remote_ip() instead of raw REMOTE_ADDR in Plack middleware

RateLimit.pm was reading $env->{REMOTE_ADDR} directly, which under the ALB is the load balancer's internal IP, not the client's. The Apache path uses LJ::get_remote_ip() which goes through DW::Request and picks up the real IP set by the XForwardedFor middleware. Match that behavior.

Same issue in reCAPTCHA.pm which was reading $ENV{REMOTE_ADDR} (the process-level env var) — also wrong under Plack/Starman.

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

Changed paths: M .github/workflows/tasks/web-unauthenticated-service.json M .github/workflows/web22-deploy.yml M src/dwtool/internal/aws/ecs.go M terraform/locals.tf

Log Message:


Prepare web-unauthenticated for web22 deployment

Add port 8080 (Starman) to the ECS task definition, add web-unauthenticated to the web22 deploy workflow, update the Terraform target group to port 8080, and give dwtool a web22 deploy target for web-unauthenticated.

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

Changed paths: M doc/dependencies-system A ext/dw-nonfree/config.rb

Log Message:


Restore files needed by 18.04 legacy build

The Dart Sass migration (8f82b8be8) deleted config.rb, ext/dw-nonfree/config.rb, and default-jre from dependencies-system. The 18.04 base image still needs all three: Compass requires config.rb to locate SCSS files, and YUI Compressor requires Java.

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

Changed paths: A config.rb

Log Message:


Restore config.rb for Compass on Ubuntu 18.04 base image

The Dart Sass migration (8f82b8be8) deleted config.rb, but the 18.04 base image still uses Compass which needs it to locate SCSS 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: df92608212e6c4f2753fcc4e8f45af91b4c81de2 https://github.com/dreamwidth/dreamwidth/commit/df92608212e6c4f2753fcc4e8f45af91b4c81de2 Author: Mark Smith mark@dreamwidth.org Date: 2026-02-14 (Sat, 14 Feb 2026)

Changed paths: M .devcontainer/config/etc/dw-etc/config-local.pl M views/shop/transferpoints.tt

Log Message:


Restore anonymous transfer checkbox on point transfer form (#3519)

  • Restore anonymous transfer checkbox on point transfer form

PR #3214 converted the form from tables to Foundation grid but accidentally dropped the "Transfer points anonymously" checkbox. The backend controller and ML strings still handle it; only the form HTML was missing.

Also widen the form container from large-5 to large-6 so the checkbox label doesn't wrap at common viewport widths.

Fixes #3486

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

  • Enable shop point transfers in devcontainer config

Add %LJ::SHOP with points enabled so the transfer points form actually works in the dev environment. Without this, item creation fails with "Could not add item to cart" because DW::Shop::Item requires the shop type to exist in %LJ::SHOP.

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

Changed paths: M bin/build-static.sh

Log Message:


Fix build-static dispatcher to use OS version for tool selection

The dispatcher checked for sass on PATH to decide between legacy (Compass) and modern (Dart Sass) builds, but Ubuntu 18.04's ruby-compass package also installs a sass binary. This caused the base image build to route to build-static-modern.sh which passes --no-source-map, a Dart Sass flag that Ruby Sass doesn't understand.

Check /etc/lsb-release instead: 18.04 gets legacy, everything else gets modern.

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

Changed paths: A bin/build-static-legacy.sh A bin/build-static-modern.sh M bin/build-static.sh M etc/docker/base/Dockerfile R etc/docker/base/build-static-legacy.sh

Log Message:


Bifurcate build-static.sh into dispatcher + two implementations

The base (Ubuntu 18.04) Dockerfile was copying build-static-legacy.sh over bin/build-static.sh at build time, which dirtied the git working tree. When child images (worker, web) later ran git pull, git refused because the local file had been overwritten.

Instead of this copy-overwrite pattern, build-static.sh is now a thin dispatcher that detects which tools are available (sass → modern, compass → legacy) and execs the appropriate implementation. The legacy script moves from etc/docker/base/ into bin/ alongside the modern one, and the Dockerfile no longer needs to copy or overwrite anything.

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

Changed paths: M bin/build-static.sh M etc/docker/base/build-static-legacy.sh

Log Message:


Make build-static scripts fail on sass/compass errors

Previously, missing or failing sass/compass would print a warning but exit 0, allowing Docker builds to succeed with no CSS output. Now both scripts exit 1 when the compiler is missing or compilation fails.

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

today the post brought Many Things

Feb. 14th, 2026 11:52 pm
kaberett: Trans symbol with Swiss Army knife tools at other positions around the central circle. (Default)
[personal profile] kaberett

One (1) duplicate letter from the DWP, which I had actually requested, because the council is apparently incapable of giving me the concessionary rate on the basis of disability without me providing one letter per year from the DWP telling them I'm still disabled, despite the fact that for anything that is not the allotment rent they can work this out from all the other information available to them without needing me to have Special Executive function;

three (3) rolls of washi tape from Sweden, one of which I have been Tempted By for probably actual years at this point and the other two of which are relevant for this year's notebook set-up and I was sad and wanted a treat;

and one (1) book, Citrus: A History, because it was £4.56, on a topic I have previously been interested in, and Interest Has Been Expressed in me yelling about it. (When will I get to it? Unclear, because once I've finished reading The Rose Field I should probably do some more pain reading, but. Eventually.)

(And why have I been sad? I genuinely do not know; my brain has just been having a Sustained Patch of Uncooperative. I would like it to stop. In addition to post, today's efforts in that direction have included a batch of pineapple upside-down banana bread, this time with some of the flour replaced with almond meal.)

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

Changed paths: M cgi-bin/LJ/ParseFeed.pm M t/parsefeed-authors.t

Log Message:


Handle multiple dc:creator elements in feed entries (#3476) (#3517)

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

Changed paths: M cgi-bin/LJ/Event/JournalNewComment.pm M cgi-bin/LJ/Event/JournalNewComment/Reply.pm M cgi-bin/LJ/Event/JournalNewComment/TopLevel.pm M cgi-bin/LJ/Event/UserMessageRecvd.pm M cgi-bin/LJ/Talk.pm M t/esn-journalnewcomment.t

Log Message:


Send notifications when screened comments are unscreened (#3487) (#3515)

  • Send notifications when screened comments are unscreened (#3487)

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

  • Fix tidy formatting in UserMessageRecvd.pm

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

Profile

venta: (Default)
venta

December 2025

S M T W T F S
 123456
78910111213
14151617181920
212223 24252627
28293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 17th, 2026 01:50 am
Powered by Dreamwidth Studios