Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Weblate 2017-07-14 14:05:12 +00:00
commit bd06a1c393
1 changed files with 13 additions and 3 deletions

View File

@ -187,11 +187,11 @@ var makeRegistrationUrl = function(params) {
window.addEventListener('hashchange', onHashChange); window.addEventListener('hashchange', onHashChange);
function getConfig() { function getConfig(configJsonFilename) {
let deferred = Promise.defer(); let deferred = Promise.defer();
request( request(
{ method: "GET", url: "config.json" }, { method: "GET", url: configJsonFilename },
(err, response, body) => { (err, response, body) => {
if (err || response.status < 200 || response.status >= 300) { if (err || response.status < 200 || response.status >= 300) {
// Lack of a config isn't an error, we should // Lack of a config isn't an error, we should
@ -261,10 +261,20 @@ async function loadApp() {
} }
} }
// Load the config file. First try to load up a domain-specific config of the
// form "config.$domain.json" and if that fails, fall back to config.json.
let configJson; let configJson;
let configError; let configError;
try { try {
configJson = await getConfig(); try {
configJson = await getConfig(`config.${document.domain}.json`);
// 404s succeed with an empty json config, so check that there are keys
if (Object.keys(configJson).length === 0) {
throw new Error(); // throw to enter the catch
}
} catch (e) {
configJson = await getConfig("config.json");
}
} catch (e) { } catch (e) {
configError = e; configError = e;
} }