1.26.0
Added
- A household whose trial has ended becomes read-only, which is what the pricing page has been promising since this morning. Thirty days of everything, then: all of it stays visible, all of it stays exportable, and nothing new can be written until somebody subscribes. Until now the site said that in three languages and the application did not do it — a household past its trial lost the paid modules and every quota, and could still write. The refusal is one guard over the whole API rather than a check in each module, because the failure mode of per-module checks is the module somebody forgets, and it refuses by method rather than by feature: closing the finance module would take away the household's own ledger, which is the thing being promised it keeps. Four things deliberately keep working. Signing in, changing a password and turning on two-factor, because somebody whose trial ran out has to be able to get in — that is how they pay. Billing, for the same reason. Asking for an export, which is itself a write and the one this household needs most, and asking for the household to be deleted. And turning notifications off, which cannot depend on what is owed. The jobs that write rows on their own — subscription self-charging, standing bills — pause rather than skip: the due dates stay exactly where they are, so a household that subscribes next week is charged from where it left off instead of finding a month of its own records missing. Reminders keep coming, because a reminder is a notice about something the household already told us, and hiding an expiring passport to make a point about payment would be a poor way to treat somebody.
- The app says where you stand before you find out the hard way. A bar at the top carries the days left in the trial — a different sentence in the last week, because "five days left" is news and "twenty-three days left" is background — and, once read-only, what that means, with a link to the plans in the language the app is being used in. Neither bar can be dismissed: both say something that stays true until it is acted on. The refusal, if one is reached anyway, now explains itself rather than saying "you do not have permission", which was wrong — the household has every permission and no subscription.
Fixed
- The app stopped offering things a read-only household cannot do. "Quick expense", "Quick task", "Quick event" and the add-an-event box were all still there and fully enabled while the bar above them said the household was read-only, so the way to discover the state was to fill in a form and be refused on saving — exactly what the bar was added to prevent. Whether somebody may write is now one answer, their role and the household's standing taken together, computed once and asked everywhere, instead of twenty-three screens each asking only about the role. Found by taking a screenshot of the previous change rather than by any test: the tests call the API directly, and the API was behaving correctly throughout.