v1.1.0 - Add RDAP lookup provider + Discord notifications + notification fixes & refactor
Domain lookup:
- New RDAP client (free, no API key) as default lookup provider with IANA bootstrap caching and supplemental registry servers (.de, .ch, .io, .me)
- New domain-lookup service with provider resolution (RDAP / WhoisJSON) and optional WhoisJSON fallback for TLDs without a public RDAP server
- NS lookups via Cloudflare DNS-over-HTTPS (new dns-client)
- Provider picker in settings with API-key panel, fallback toggle and provider pinning when saving a WhoisJSON key
- Domains needing check are now ordered so registered domains without expiry data don’t crowd out the per-run limit; lookup source shown on domain card
Notifications:
- New Discord integration (webhook embeds), same flow as Slack: settings UI with test message, connection status tracking, cron provider registry — no DB migration needed (row is created on first enable)
- Report timestamps now use the configured timezone (formatHumanDate) instead of server-local UTC
- Resend error handling mapped by SDK error names instead of brittle message matching; from_email validated; HTML report escapes domain names
- Shared notifier helpers (shared.js): date formatting, quiet-day messages, escapeHtml — removes duplication between Slack/Resend/Discord
- Simplified cron domain-check orchestration; removed dead origin param
UI:
- WhoisJSON fallback description moved into an (i) tooltip; collapse wrapper no longer clips the tooltip when the panel is open
- Tooltip offset prop, Button form-association fix, Header isLookupReady indicator rename