diff --git a/package.json b/package.json index 090d98f4b..381d3946f 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,8 @@ "src/components/filedownloader.js", "src/components/filesystem.js", "src/components/input/keyboardnavigation.js", - "src/components/sanatizefilename.js" + "src/components/sanatizefilename.js", + "src/scripts/settings/webSettings.js" ], "plugins": [ "@babel/plugin-transform-modules-amd" diff --git a/src/components/apphost.js b/src/components/apphost.js index ce19e1755..868416b36 100644 --- a/src/components/apphost.js +++ b/src/components/apphost.js @@ -278,9 +278,9 @@ define(["appSettings", "browser", "events", "htmlMediaHelper", "webSettings"], f features.push("targetblank"); features.push("screensaver"); - if (webSettings.enableMultiServer()) { - features.push("multiserver") - } + webSettings.enableMultiServer().then(enabled => { + if (enabled) features.push("multiserver") + }) if (!browser.orsay && !browser.msie && (browser.firefox || browser.ps4 || browser.edge || supportsCue())) { features.push("subtitleappearancesettings"); diff --git a/src/scripts/settings/webSettings.js b/src/scripts/settings/webSettings.js index de0dff94a..503eff089 100644 --- a/src/scripts/settings/webSettings.js +++ b/src/scripts/settings/webSettings.js @@ -1,27 +1,11 @@ -define(['appStorage', 'events'], function (appStorage, events) { - 'use strict'; +function getConfig() { + return fetch("/config.json?nocache=" + new Date().getUTCMilliseconds()).then(function (response) { + return response.json(); + }); +} - var data; - - function getConfig() { - if (data) { - return data; - } - - fetch("/config.json").then(function (response) { - data = response.json(); - }) - - return data; - } - - function WebSettings() { - getConfig(); - } - - WebSettings.prototype.enableMultiServer = function () { - return getConfig().multiServer || false; - }; - - return new WebSettings(); -}); +export function enableMultiServer() { + return getConfig().then(config => { + return config.multiserver; + }); +}