mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
The invite route has accepted expiresAt, stored it and annotated on it since the grant model shipped. The card sent a hardcoded null, so the column existed, the validator accepted it, the wide event reported on it, and no person could set one. The release note said an invitation could carry a lapse date. The form now offers the date, floored at tomorrow because a grant that lapses today confers nothing. A chosen day maps to the END of that day in the browser's own zone, so "until the 30th" means the 30th rather than the midnight that starts it, which is the reading anybody picking a date has in mind. Empty stays the default and still means no lapse date. Both ends are pinned rather than one: the control is asserted in the rendered form, and the mapping is exported so its contract holds without a click, which is this repository's convention for component tests.