CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

fix(domains): crash-proof DomainCard against unexpected status values #4049

Merged⚡ AI-generatedXSccantynz wants to mergeclaude/elegant-wozniak-yd2br4mainopened Jun 16, 20260/4 tasks
2 changed files+9−2
Modifiedapps/web/app/(dashboard)/domains/page.tsx+8−1View fileUnifiedSplit
2424 dmarcVerified: boolean;
2525 addedAt: string;
2626} {
27 const rawStatus = d.status;
28 const verificationState: "pending" | "verified" | "failed" | "expired" =
29 rawStatus === "verified" ? "verified" :
30 rawStatus === "failed" ? "failed" :
31 rawStatus === "expired" ? "expired" :
32 "pending"; // covers "verifying", "pending", null, undefined, unknown
33
2734 return {
2835 id: d.id,
2936 domain: d.domain,
30 verificationState: (d.status === "verifying" ? "pending" : d.status) as "pending" | "verified" | "failed",
37 verificationState,
3138 dnsRecords: [
3239 { type: "TXT", name: `_alecrae-verify.${d.domain}`, value: `alecrae-verify=${d.id.slice(0, 8)}`, verified: d.spfVerified },
3340 { type: "TXT", name: d.domain, value: `v=spf1 include:spf.alecrae.com ~all`, verified: d.spfVerified },
Modifiedpackages/ui/src/composites/domain-card.tsx+1−1View fileUnifiedSplit
5353 },
5454 ref
5555) {
56 const state = stateStyles[verificationState];
56 const state = stateStyles[verificationState] ?? stateStyles.pending;
5757
5858 return (
5959 <Card ref={ref} className={className} hoverable {...props}>
6060
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts