Adds per-monitor `retries` and `retryDelayMs` options. When a check fails,
the monitor is re-checked up to `retries` extra times (waiting `retryDelayMs`
between attempts, default 5000ms) before being reported as down. This filters
out transient blips / false positives, and affects both the status page state
and downtime notifications.
Backward compatible: default `retries: 0` keeps the current behavior (no retry).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Globalping rejects measurementOptions.ipVersion when the measurement target is an IP address.
Add an IP-target guard so ipVersion is only sent for domain targets, preventing validation errors when checking IP:port monitors.
* Add basic webhook option to workerConfig.notification as alternative to apprise
* Add uptime.config.ts example for webhook option
* Removed trailing commas from newly added types for consistency
* Add ability to customize webhook body
* use template
---------
Co-authored-by: lyc8503 <me@lyc8503.net>
* fix: allow partial callbacks in config types
* fix: allow non-async callback functions in config types
* fix: specify type of monitor argument in callback type
* fix: use generics type for env argument in callback type
* feat: move types
* feat: add maintenance alert
* feat: move to config/base class to have fallback values on missing exports
* fix: wrong import for types
* Revert "fix: wrong import for types"
This reverts commit ca2b2e3a68.
* Revert "feat: move to config/base class to have fallback values on missing exports"
This reverts commit 9932ea2590.
* fix: imports
* chore: formatting
* fix: handle filtering for global status
* fix: pass props
* fix: ignore active maintenances when sending notifications
* fix: mark as warning when monitor is in maintenance
* fix: title width & warning icon
* fix: remove accordeons again
* alert config/style changes, worker code improve
* update example config
* update example config
* set monitors to be optional
---------
Co-authored-by: lyc8503 <me@lyc8503.net>