*/ public function hosts(): array { $trustedHosts = []; // Trust the configured FQDN from InstanceSettings (cached to avoid DB query on every request) $fqdnHost = Cache::remember('instance_settings_fqdn_host', 300, function () { try { $settings = InstanceSettings::get(); if ($settings && $settings->fqdn) { $url = Url::fromString($settings->fqdn); $host = $url->getHost(); return $host ?: null; } } catch (\Exception $e) { // If instance settings table doesn't exist yet (during installation), // return null to fall back to APP_URL only } return null; }); if ($fqdnHost) { $trustedHosts[] = $fqdnHost; } // Trust all subdomains of APP_URL as fallback $trustedHosts[] = $this->allSubdomainsOfApplicationUrl(); return array_filter($trustedHosts); } }