Rebasing an affiliate PR into a build dependabot quietly broke
A grouped 12-update dependabot bump hid a Tailwind major that broke loudly and an Astro major that broke silently, triggered by one unmerged branch.
Notes on the software, games, and music coming out of Imperfect Systems.
RSS feedA grouped 12-update dependabot bump hid a Tailwind major that broke loudly and an Astro major that broke silently, triggered by one unmerged branch.
One PUT endpoint, an error-mapping decision (409 is the optimistic lock, 422 is your fault), a PRD that pointed at a file that doesn't exist, and a salvageable stash on a dead branch.
Authorization is not subscription, an error type that doesn't exist, and a finished fix sitting invisible in git stash while I rebuilt it from notes.
A kanban board rendered a prop that went stale the moment other data changed, and every mocked test passed because a mock can't express staleness.
The check that shows up on merged PRs is Cloudflare reporting a build that already ran, not a pre-merge gate - so the gate became a synchronous local build instead.
Tauri's asset-protocol scope has an allow_directory and no revoke - so switching vaults became a restart, trading instant switching for a security property that actually holds.
Nine dead Postiz columns, a memoization where Rails.cache would have defeated the encryption, three Ruby filters moved into SQL, and unreachable code that wasn't.
Compliance by construction: a remark plugin that fails the build when an affiliate link ships without its disclosure, packaged the same way as the shared blog components.
Adding one status check to a Rust function meant it could no longer call another function the same way - and that constraint quietly opened a hole neither function had on its own.
The tracker script doesn't exist until you consent. Not disabled. Not paused. Absent. That's the whole design of this opt-in-only analytics library.
Page 6 of 19