A quality check that had never actually tested what it claimed
The app has an automated check that makes sure the upgrade screen still fits on screen when someone turns their text size up. It had been reporting success without ever changing the text size. The tool it used to do that quietly ignores a slightly-wrong size name and carries on at whatever the phone was already set to, and nothing in the output distinguished a real pass from a run that measured the default twice over. It was caught only because two runs meant to test different sizes came back byte-identical, down to every last measurement. The check now reads the setting back after applying it, refuses to run if it did not take, and prints the size it actually measured so nobody has to trust the request. Two things worth recording. The obvious fix — checking whether the command failed — turns out to do nothing at all, because the command reports success even when it rejects what you gave it; reading the value back is the only part that bites. And the first thing the corrected check found was a real layout problem at larger text sizes that had been invisible the whole time it was supposedly being tested, which is the argument for fixing an instrument before trusting anything it told you.
Share This Ship
🏗️ Shipped: A quality check that had never actually tested what it claimed 🧵
The app has an automated check that makes sure the upgrade screen still fits on screen when someone turns their text size up. It had been reporting success without ever changing the text size.
The tool it used to do that quietly ignores a slightly-wrong size name and carries on at whatever the phone was already set to, and nothing in the output distinguished a real pass from a run that measured the default twice over.
It was caught only because two runs meant to test different sizes came back byte-identical, down to every last measurement.
The check now reads the setting back after applying it, refuses to run if it did not take, and prints the size it actually measured so nobody has to trust the request. Two things worth recording.
The obvious fix — checking whether the command failed — turns out to do nothing at all, because the command reports success even when it rejects what you gave it; reading the value back is the only part that bites.
And the first thing the corrected check found was a real layout problem at larger text sizes that had been invisible the whole time it was supposedly being tested, which is the argument for fixing an instrument before trusting anything it told you.
Follow the build → build-log-five.vercel.app #ios #quality #accessibility #buildinpublic