Add DNS best-practice scanner and safer zone operations - #8
Draft
GibbyOH wants to merge 2 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DNS writes could leave a partially changed zone after a failure, and snapshot restores could target obsolete Cloudflare record IDs or mix same-name zones. This change adds guarded provider writes, conservative recovery that preserves unrelated edits, stable zone targeting, protected-record handling, and preflight validation.
The desktop now includes a best-practice scanner with guided A/AAAA, CNAME, MX, SPF, DMARC, DKIM, CAA, and no-mail setup. Suggestions are previewed and staged for normal apply. An active-profile dropdown beside Accounts, persisted profile selection, enforced read-only access, encrypted drafts, cancellation, custom TTL preservation, and safe provider switching support that flow. Update downloads verify SHA-256; execution additionally requires a valid signature matching a configured trusted publisher.
Validation: 61 offline automated tests (54 core/provider and 7 WPF desktop), Windows PowerShell 5.1 JEA integration check, public-source scan, and rendered desktop inspection. The release script builds self-contained Windows x64 executable, portable ZIP, and installer with license notices and checksums.
The 0.7.1 preview is unsigned. Profile selection now connects only the chosen profile; empty profiles show setup guidance instead of Default or demo zones. No live provider zones were changed during verification. Providers without conditional-write support retain a read/write race window; ambiguous recovery requires administrator review. A trusted signing certificate and disposable-zone provider testing remain prerequisites for a production release.