Skip to content
Ritesh FirodiyaGet in touch

Work / AskCal / Wiki / Surfaces

today-unconfirmed

Surfacecanonicalverified 2026-09-27

SURFACE.MOBILE.HOME.TODAY-UNCONFIRMED

Summary

Today with photo scans paused, because the store could not confirm the plan.

Raw wireframe

  • .context/designs/mobile/home/today-unconfirmed.html

Why it is drawn this way

"We could not check" is not "you have not paid", and this screen is where that distinction is kept. checkEntitlement returns three values and unknown answers 409 unverified without touching any counter. Collapsing it into false metered a paying subscriber against a LIFETIME free allowance they had spent months earlier, and then sold them the plan they already owned. The whole incident is in .context/ops/incidents/2026-09-22-entitlement-lockout.md.

So it is its own screen and not a locked state of today. The closed set cannot name it: not empty, not loading, not offline, and emphatically not locked — locked is the allowance honestly spent, this is the allowance we failed to look up. Drawing one for the other is the bug.

Only the shutter is paused; the rest of the day is untouched. Barcode and search do not consult entitlement at all, so a day can still be logged while this card is on screen. The card is the only thing that is new.

Type it is paused too, and struck through rather than removed. It is a billed estimate that spends a scan exactly as the shutter does. This screen used to offer it as a tappable tile priced "1 scan", forty pixels under its own sentence saying photo scans were paused — a second door to the allowance the screen had just admitted it could not read. Struck through follows the rule today keeps for the locked state: a control that vanishes when it stops working moves everything beside it and leaves the user unsure it was ever there.

The card is info, not danger. Nothing is wrong with the user's account as far as anyone knows, and nothing has been charged. Red would be the app accusing the user of a problem it has itself.

Tapping it restores. One action, straight to unverified, which is the same explanation at full length for the user who wants it.

Related

Sources

  • .context/designs/mobile/home/today-unconfirmed.html
  • .context/ops/incidents/2026-09-22-entitlement-lockout.md

Every project of mine is written down like this.

Read the résumé