[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. 馃珫 Status page with uptime monitoring & API monitoring as code 馃珫 openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor

fix(maintenance): address review findings on maintenance updates master

- Reject null dates: a bare z.coerce.date() turns JSON null into 1970-01-01. Service inputs reject null before coercing, REST update schemas take an ISO 8601 date-time, tRPC takes a Date. - Backfill updated_by from the legacy column before falling back to created_by so edits by another user keep their editor. - Maintenance emails carry the from - to window instead of a bare start. - Audit the first update written by the importer. - Dashboard: lock the composer while publishing and keep isPending through the refetch; nested links in a table row keep their own click; the update sheet forwards trigger props. - Drop the unused maintenance update load from getUptime. - Keep multi-line update messages inside their Markdown list item. - Docs: tool counts, add_maintenance_update in the notify contract, notified:false on plans without subscribers. - Tests: REST GET asserts the body; dispatcher asserts the window.


+109 -52
16 changed files