The post editor shell, a stale-token bug, and no mocking gem
A drafts table, autosave, and the first synchronous GitHub call in the app - plus a bug green tests sailed past and a hand-rolled stub helper when minitest/mock wasn't there.
A drafts table, autosave, and the first synchronous GitHub call in the app - plus a bug green tests sailed past and a hand-rolled stub helper when minitest/mock wasn't there.
A card that lied about a missing hero image, a relative path resolved against the wrong origin, and a hotlink block from my own blog against my own app.
A rake task copies the production SQLite file down, nulls out every secret before it touches dev, and survives schema drift and a host without rsync.
Mirroring the Pexels client line for line, a fire-and-forget download-tracking ping, and a browser-controlled URL that almost got the API key attached to it.
A routine provider-registry refactor turned up an unvalidated param that could commit a mislicensed image to the live blog as legitimately self-hostable.
A download-and-rehost pipeline for CC images: vips from a buffer, a UTF-8 force-encode that would corrupt JPEG bytes, and a stale queue mimicking a bug.
Closing the hero-image loop: insert-only frontmatter patching, a guard that caught real drift on its first run, and a Turbo broadcast with no listener.
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.
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.
Adding i18n pipeline plumbing to a Rails blog syndication app, and the partial-migration bug my own code review caught before it shipped.
Page 1 of 6