"Looks the same to me"
A UI redesign, a review comment that named the exact property I never touched, and what it takes to actually fix what someone reports instead of what's around it.
Notes on the software, games, and music coming out of Imperfect Systems.
RSS feedA UI redesign, a review comment that named the exact property I never touched, and what it takes to actually fix what someone reports instead of what's around it.
Every catch branch was dead code in tests. A 15-line failure seam fixed that, and then one unannotated test suite took down the whole runner.
Adding Postiz social cross-posting looked done until a blunt question exposed a double-post bug, and a full audit of every posting path in the app found two more like it.
Five ~700-line slices, briefs that ask what's well done too, and the verification step that separated real bugs from plausible ones.
Routing Dev.to publishing through Postiz and deleting the native client: the DTO that validates stricter than the runtime, the draft that isn't, and a cover image lost to local storage.
Adopting a linter on code that never had one, a framework-free pre-commit hook, and three things the macOS runner did that the docs didn't mention.
The purchase API is the easy part. The seams between StoreKit 2, Swift 6 isolation, and SwiftUI observation are where the time went.
Removing the never-used native Hashnode integration: 31 files, +14/-1126, a grep that lied a little, and the architecture question the deletion forced.
A spike that ended in "don't build this": private-IP rejection, an unauthenticated empty payload, and the pull API that had everything the push lacked.
An inline mini-player when MusicKit playback is silent in the simulator: a two-method protocol, an honest lie of an indicator, and a bug left in on purpose.
Page 11 of 14