Repository navigation
feat: Display ownership and SSL TXT records during domain setup - #201
Conversation
✅ Deploy Preview for staging-void-cloud ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8b0fb61856
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 8b0fb61. Configure here.
|
We don't like tests? |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 799cc85c67
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8d32fabdc2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
c13bbfb to
7b3c387
Compare
`void domain add` and `void domain status` now print the CNAME record plus both Cloudflare-issued TXT records (ownership verification + SSL validation) so users can complete domain binding from the CLI. Multiple SSL validation records (e.g. wildcard certs) are emitted as separate lines rather than collapsed to the first. The pending-records display in `void domain status` keys off per-field validation state instead of the aggregate `status` so re-validation cycles still surface the records the user needs to add. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The previous logic keyed off `ownership_verification.status`, but the
Cloudflare Custom Hostnames API does not return a `status` field inside
`ownership_verification` (it returns `{ name, type, value }` only). The
derivation also leaked verified records into the pending-DNS-records
display when only SSL was outstanding.
Use the presence of the `ownership_verification` object as the
ownership-pending signal (CF drops the object once ownership clears),
gate each inner section in the pending block on its own pending state,
and remove the invented `status?: string` from the `DomainResponse`
type so it matches the live CF contract.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Covers the runDomainCommand top-level guards (token + project resolution), domainAdd output (three-record block, multi-SSL, graceful skip when the API omits the newer fields), domainStatus presence-based ownership state and per-state pending-section gating, plus the trivial domainList/domainRemove not-found paths. 20 tests, all pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
CF normally clears `ssl.validation_records` once SSL is active, but during cert renewals or partial states a stale `active` row can sit alongside a pending one. Filter on per-record status so the CLI only surfaces records the user still needs to add. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
7b3c387 to
c50ce77
Compare
The feature-branch tip (c50ce77) referenced by the previous platform commit was made unreachable when framework PR #201 squash-merged into framework main as d0f90e9 and the feature branch was deleted. Fresh clones of platform fail at `git submodule update --init` with the dangling pointer; this points the submodule at the squash commit so clones resolve cleanly. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Summary
void domain addnow prints all three required DNS records: CNAME (traffic), TXT (ownership verification), TXT (SSL validation).void domain statusdisplays the ownership-verification state alongside SSL/status, and lists outstanding TXT records when verification has not yet completed.ownership_verification.status !== 'verified'ORssl_status !== 'active') rather than the aggregatestatusfield, so re-validation cycles still surface the records the user needs to add even after the DB row has previously activated.This is the CLI half of the platform-side TXT verification change in voidzero-dev/void-platform.
Test plan
vp run --filter ./packages/void typecheckpassesapproveafter two roundsvoid domain add+void domain statusagainst a domain you control end-to-end🤖 Generated with Claude Code
Note
Medium Risk
Moderate risk: changes CLI domain setup/status output logic and adds a new intercepted
GET /__void/readypath in the generated worker wrapper, which could affect deploy-time routing if incorrect.Overview
Improves
void domain add/void domain statusto surface all required DNS records, including ownership verification TXT and SSL validation TXT records (rendering multiple SSL records cleanly), and shows anOwnership: pendingindicator plus a separate “add these DNS records” block when validation is still outstanding.Extends the platform domain API types to include
ownership_verificationandssl_validation_records, and adds unit tests covering the new domain output behavior.Updates wrapper generation to intercept
GET /__void/readyand return{ ready: true }before delegating to the user’s handler, with a unit test to ensure ordering.Reviewed by Cursor Bugbot for commit c50ce77. Bugbot is set up for automated code reviews on this repo. Configure here.