@@ -49,6 +49,10 @@ function SettingsPage() {
4949 const [ aliasMode , setAliasMode ] = useState < "plus" | "managed" > ( "plus" ) ;
5050 const [ aliasDomain , setAliasDomain ] = useState ( "" ) ;
5151 const [ managedAliasEnabled , setManagedAliasEnabled ] = useState ( false ) ;
52+ const [ managedAliasReady , setManagedAliasReady ] = useState ( false ) ;
53+ const [ managedAliasResolverConfigured , setManagedAliasResolverConfigured ] = useState ( false ) ;
54+ const [ managedAliasInboundReady , setManagedAliasInboundReady ] = useState ( false ) ;
55+ const [ managedAliasBlockers , setManagedAliasBlockers ] = useState < string [ ] > ( [ ] ) ;
5256 const [ plusFallbackEnabled , setPlusFallbackEnabled ] = useState ( false ) ;
5357 const [ aliasItems , setAliasItems ] = useState < Array < {
5458 id : number ;
@@ -122,6 +126,10 @@ function SettingsPage() {
122126 setAliasMode ( response . mode === "managed" ? "managed" : "plus" ) ;
123127 setAliasDomain ( response . domain || "" ) ;
124128 setManagedAliasEnabled ( Boolean ( response . managed_enabled ) ) ;
129+ setManagedAliasReady ( Boolean ( response . managed_ready ) ) ;
130+ setManagedAliasResolverConfigured ( Boolean ( response . managed_resolver_configured ) ) ;
131+ setManagedAliasInboundReady ( Boolean ( response . managed_inbound_ready ) ) ;
132+ setManagedAliasBlockers ( response . managed_blockers || [ ] ) ;
125133 setPlusFallbackEnabled ( Boolean ( response . plus_fallback_enabled ) ) ;
126134 setAliasError ( "" ) ;
127135 } catch ( err ) {
@@ -440,7 +448,7 @@ function SettingsPage() {
440448 InboxAnchor can also auto-label alias mail and keep it out of the primary inbox.
441449 </ p >
442450 < div className = "rounded-md border border-border bg-secondary/30 p-3 text-xs leading-5 text-muted-foreground" >
443- { managedAliasEnabled ? (
451+ { managedAliasEnabled && managedAliasReady ? (
444452 < >
445453 InboxAnchor is using its managed alias domain
446454 { " " }
@@ -452,6 +460,20 @@ function SettingsPage() {
452460 travel1234567@{ aliasDomain }
453461 </ span > .
454462 </ >
463+ ) : managedAliasEnabled ? (
464+ < >
465+ InboxAnchor sees the managed alias domain
466+ { " " }
467+ < span className = "font-medium text-foreground" > { aliasDomain } </ span >
468+ { " " }
469+ but the inbound path is not fully live yet, so product-owned aliases like
470+ { " " }
471+ < span className = "font-medium text-foreground" >
472+ travel1234567@{ aliasDomain }
473+ </ span >
474+ { " " }
475+ will not forward until the remaining setup is finished.
476+ </ >
455477 ) : (
456478 < >
457479 InboxAnchor alias domain is not configured yet.
@@ -476,6 +498,21 @@ function SettingsPage() {
476498 </ >
477499 ) }
478500 </ div >
501+ { managedAliasEnabled && ! managedAliasReady ? (
502+ < div className = "rounded-md border border-warning/30 bg-warning/5 p-3 text-[11px] leading-5 text-warning space-y-2" >
503+ < p >
504+ Managed aliases are not live yet.
505+ { " " }
506+ { ! managedAliasResolverConfigured ? "The backend resolver secret is missing. " : "" }
507+ { ! managedAliasInboundReady ? "Cloudflare inbound routing still needs to be marked ready. " : "" }
508+ </ p >
509+ { managedAliasBlockers . map ( ( item ) => (
510+ < p key = { item } >
511+ { item }
512+ </ p >
513+ ) ) }
514+ </ div >
515+ ) : null }
479516 { ! managedAliasEnabled ? (
480517 < div className = "rounded-md border border-warning/30 bg-warning/5 p-3 text-[11px] leading-5 text-warning" >
481518 To get product-owned aliases like
@@ -513,12 +550,18 @@ function SettingsPage() {
513550 </ div >
514551 < Button
515552 onClick = { handleGenerateAlias }
516- disabled = { aliasLoading || ( ! managedAliasEnabled && ! plusFallbackEnabled ) }
553+ disabled = {
554+ aliasLoading ||
555+ ( managedAliasEnabled && ! managedAliasReady ) ||
556+ ( ! managedAliasEnabled && ! plusFallbackEnabled )
557+ }
517558 >
518559 { aliasLoading
519560 ? "Generating..."
520- : managedAliasEnabled
561+ : managedAliasEnabled && managedAliasReady
521562 ? "Generate InboxAnchor alias"
563+ : managedAliasEnabled
564+ ? "Managed alias setup incomplete"
522565 : plusFallbackEnabled
523566 ? "Generate Gmail fallback alias"
524567 : "Managed alias domain required" }
0 commit comments