Merge pull request #46302 from nextcloud/fix/noid/jsm-check-pickiness

[stable28] fix(SetupCheck): jsm test shall not give up with first no-response
This commit is contained in:
Git'Fellow 2024-07-09 18:21:47 +02:00 committed by GitHub
commit e395d1f693
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -61,6 +61,7 @@ class JavaScriptModules implements ISetupCheck {
array_map(fn (string $host): string => $host . $testFile, $this->config->getSystemValue('trusted_domains', []))
);
$gotResponse = false;
foreach ($testURLs as $testURL) {
try {
$client = $this->clientService->newClient();
@ -73,14 +74,17 @@ class JavaScriptModules implements ISetupCheck {
'allow_local_address' => true,
],
]);
$gotResponse = true;
if (preg_match('/(text|application)\/javascript/i', $response->getHeader('Content-Type'))) {
return SetupResult::success();
}
} catch (\Throwable $e) {
$this->logger->debug('Can not connect to local server for checking JavaScript modules support', ['exception' => $e, 'url' => $testURL]);
return SetupResult::warning($this->l10n->t('Could not check for JavaScript support. Please check manually if your webserver serves `.mjs` files using the JavaScript MIME type.'));
}
}
if (!$gotResponse) {
return SetupResult::warning($this->l10n->t('Could not check for JavaScript support. Please check manually if your webserver serves `.mjs` files using the JavaScript MIME type.'));
}
return SetupResult::error($this->l10n->t('Your webserver does not serve `.mjs` files using the JavaScript MIME type. This will break some apps by preventing browsers from executing the JavaScript files. You should configure your webserver to serve `.mjs` files with either the `text/javascript` or `application/javascript` MIME type.'));
}
}