diff --git a/ext/js/pages/settings/settings-controller.js b/ext/js/pages/settings/settings-controller.js index 6f49482ca..45ff2b3ad 100644 --- a/ext/js/pages/settings/settings-controller.js +++ b/ext/js/pages/settings/settings-controller.js @@ -18,7 +18,7 @@ import {EventDispatcher} from '../../core/event-dispatcher.js'; import {EventListenerCollection} from '../../core/event-listener-collection.js'; -import {fetchJson} from '../../core/fetch-utilities.js'; +import {readResponseJson} from '../../core/json.js'; import {isObjectNotArray} from '../../core/object-utilities.js'; import {generateId} from '../../core/utilities.js'; import {OptionsUtil} from '../../data/options-util.js'; @@ -78,7 +78,21 @@ export class SettingsController extends EventDispatcher { /** */ async prepare() { await this._templates.loadFromFiles(['/templates-settings.html']); - this._recommendedSettingsByLanguage = await fetchJson('../../data/recommended-settings.json'); + const url = '../../data/recommended-settings.json'; + const response = await fetch(url, { + method: 'GET', + mode: 'no-cors', + cache: 'default', + credentials: 'omit', + redirect: 'follow', + referrerPolicy: 'no-referrer', + }); + if (!response.ok) { + throw new Error(`Failed to fetch ${url}: ${response.status}`); + } + + this._recommendedSettingsByLanguage = (await readResponseJson(response)); + this._application.on('optionsUpdated', this._onOptionsUpdated.bind(this)); if (this._canObservePermissionsChanges()) { chrome.permissions.onAdded.addListener(this._onPermissionsChanged.bind(this));