Skip to content

feat(uptime): V1 uptime monitoring + down/recovery alerts - #86

Merged
ralyodio merged 1 commit into
masterfrom
uptime-monitors
Jul 6, 2026
Merged

ralyodio merged 1 commit into
masterfrom
uptime-monitors

Conversation

@ralyodio

@ralyodio ralyodio commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Builds the PRD's headline feature (§3–§7) — actual uptime monitoring with downtime alerts.

What ships

  • Monitor types: HTTP(S), Keyword (body contains/omits), SSL-expiry, TCP port.
  • State machine: multi-failure confirmation (default 2 fails → down, 1 success → up); opens/closes incidents on transitions.
  • Alerts: down + recovery emails via the existing Resend setup (RESEND_FROM), to the monitor's alert email (defaults to the creator's).
  • Worker: uptimeSweep every 15s — claims due monitors (pushes due_at forward) then runs checks concurrently.
  • UI: new Uptime tab — monitor list with live state + latency, add-monitor form per type, pause/delete, incident history.
  • DB: monitors / monitor_incidents / monitor_checks, owner-scoped RLS. Migration already applied to prod.

Checks use Node fetch (http/keyword), tls (ssl), net (tcp) — all fine from Railway (no raw sockets needed; that was only ICMP/nmap).

Root + worker tsc --noEmit pass. Pages degrade to empty states, so the tab renders immediately on deploy.

🤖 Generated with Claude Code

The headline PRD feature (§3–§7): HTTP/keyword/SSL/TCP monitors with an
up/down state machine, incident tracking, and email alerts.

- migration: monitors, monitor_incidents, monitor_checks (owner-scoped RLS).
- lib/uptime.ts: per-type checks (fetch / tls / net), multi-failure
  confirmation state machine, incident open/close, Resend down+recovery alerts.
- worker: uptimeSweep on a 15s interval; claims due monitors then checks.
- actions + UI: Uptime tab with monitor list (live state/latency), add-monitor
  form (per type), pause/delete, and incident history.
- nav: Uptime tab after Security.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit 981b1a2 into master Jul 6, 2026
@ralyodio
ralyodio deleted the uptime-monitors branch July 6, 2026 23:51
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant