Fix subdomain DNS messaging for Ladill nameservers and retire pending-setup primaries.
Deploy Ladill Hosting / deploy (push) Successful in 47s

Treat ns_auto domains as managed DNS, publish subdomain A records via PowerDNS without failing the UX when the local DNS registry is missing, and promote real linked domains over pending-setup.local placeholders.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-13 16:47:50 +00:00
co-authored by Cursor
parent 460edb8719
commit 136cf8b719
12 changed files with 686 additions and 45 deletions
@@ -209,6 +209,13 @@ class HostingProductController extends Controller
$renewals ??= app(HostingRenewalCheckoutService::class);
$account->load(['product', 'user', 'node', 'sites']);
// Heal legacy Sales Centre placeholders (pending-setup.local) that stayed
// primary after a real domain was linked as an addon.
app(\App\Services\Hosting\PlaceholderPrimaryDomainService::class)->healAccount($account);
$account->refresh()->load(['product', 'user', 'node', 'sites']);
$placeholders = app(\App\Services\Hosting\PlaceholderPrimaryDomainService::class);
$maxDomains = $account->maxDomainsLimit();
$freeEmailAllowance = $account->freeEmailAllowance();
$mailboxes = $account->loadedMailboxes();
@@ -217,7 +224,11 @@ class HostingProductController extends Controller
return view('hosting.account', [
'account' => $account,
'linkedSites' => $account->sites->sortBy(fn ($site) => [$site->type !== 'primary', $site->domain])->values(),
'accountLabel' => $placeholders->displayLabel($account),
'linkedSites' => $account->sites
->filter(fn ($site) => ! \App\Services\Hosting\PlaceholderPrimaryDomainService::isPlaceholderDomain($site->domain))
->sortBy(fn ($site) => [$site->type !== 'primary', $site->domain])
->values(),
'maxDomains' => $maxDomains,
'canLinkMoreDomains' => $account->canAddDomain(),
'ownedDomains' => collect($this->getUserDomains($request->user())),