summaryrefslogtreecommitdiff
path: root/DomainDig/DomainMonitoringService.swift
Commit message (Collapse)AuthorAgeFilesLines
* fix: report unreachable domains instead of 'No meaningful changes'Christian Cleberg2026-07-201-2/+41
| | | | | | | | | | | | | | | | | Closes #10. resolvedSnapshotAfterFallback replaces a failed lookup's snapshot with the previous one, so alertDescriptor compared the old snapshot against itself, found matching hashes, and the run reported 'No meaningful changes' for a domain that was never actually reached. Nothing in the UI or the monitoring log distinguished that from a genuine no-change. MonitoringDomainResult now carries unreachableReason, set when the fallback fires. It is Optional so already-persisted monitoring logs still decode. The run summary reads 'Could not check — kept the previous result' with the underlying error, and monitoringEvents emits a warning- severity monitoringFailure so configured integrations hear about it rather than seeing silence.
* v4.7.0: Add domain reputation/blocklist data sourceChristian Cleberg2026-07-171-0/+4
| | | | | | | | | | | | | | | | | | | - New DomainReputationResult model (status: clean/listed/unknown, listed sources, checked-at) and a `reputation(domain:)` method on ExternalDataService, mirroring the existing pluggable-URL enrichment pattern (ownership history, DNS history, extended subdomains, pricing). With no endpoint configured (the default; DomainDig ships no bundled third-party reputation dependency) it resolves to unavailable rather than "clean". - New .reputation FeatureCapability/DataCapability, gated Pro+ like domainPricing. - Threaded reputation/reputationError through LookupSnapshot and HistoryEntry (backward-compatible decode) so results persist with history entries. - Auto-fetched in performLookup alongside pricing; surfaced as a "Reputation" info row, folded into DomainInsightEngine's risk score/factors and top-level insights (a listed domain raises risk score and adds a factor/insight), and exported in text, CSV, and JSON report output. - Reputation-driven risk changes ride the existing change-severity pipeline, so a listed status flip is visible to monitoring the same way any other risk delta is, without bespoke monitoring wiring.
* DomainDig v3.5.0: Expand the Pro+ Data+ intelligence layer with deeper local ↵Christian Cleberg2026-04-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | historical context and inferred enrichment. - add derived intelligence fields for provider fingerprinting, classification, ownership transitions, hosting transitions, subdomain history, risk signals, and inferred timeline events - expand DNS history beyond A/NS snapshots to retain A, AAAA, MX, NS, TXT, and CNAME change state - persist enriched intelligence in snapshots and history entries so analysis is local-first and incremental - add a dedicated Data+ Intelligence panel to current and historical domain detail views - surface intelligence events in timeline rows and include Data+ changes in diff output - preserve non-blocking inspection behavior by keeping enrichment additive to the main lookup path This makes Pro+ materially deeper for investigative workflows by improving historical ownership visibility, infrastructure context, hosting change detection, subdomain intelligence, and explainable risk signals.
* DomainDig v4.0.0 — IntegrationsChristian Cleberg2026-04-251-0/+91
| | | | | | | | | | | | * Outbound webhook delivery * Native Slack webhook integration * SMTP-based email alerts * Per-integration event filtering * Reliable local delivery queue * Delivery logs and retry visibility * Integration management UI * Normalized event severity model * Canonical structured event payloads
* DomainDig v3.8.0 — Smart MonitoringChristian Cleberg2026-04-241-48/+330
| | | | | | | | | * Stable domain intervals * Frequent changes decrease intervals * Duplicate states do not trigger alerts * Quiet hours suppress alerts * Quiet hours across midnight work correctly * Sensitivity levels alter behavior as expected
* feat(v3.7.0): add timeline and advanced diffing systemChristian Cleberg2026-04-241-0/+4
| | | | | | | | | | - introduce TimelineView for historical snapshots - allow comparison between any two snapshots - implement DiffService for structured domain diffs - improve diff visualization with clear change indicators - add navigation across changes - optimize history loading for performance - extend CLI and export to support timeline data
* feat(v3.4.0): add backup, restore, and data portabilityChristian Cleberg2026-04-231-0/+613
• introduce versioned DomainDig backup format • add full backup export/import with merge and replace modes • implement data validation and conflict handling • add partial exports for tracked domains, workflows, and history • add Data Portability settings section • support Files/iCloud Drive import and export • harden migrations for evolving local models • extend CLI with backup export and validation