X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/9168f531907d8d2aa3a9320a20e34d2533f38572..bcb55ad2005ab4dc8c97624c1f56d410c36d15c2:/src/common/config.ts diff --git a/src/common/config.ts b/src/common/config.ts index dd812c65..afbeb5ae 100644 --- a/src/common/config.ts +++ b/src/common/config.ts @@ -58,6 +58,7 @@ export interface ClusterConfigJSON { SSHHelpPageHTML: string; SSHHelpHostSuffix: string; SiteName: string; + IdleTimeout: string; }; Login: { LoginCluster: string; @@ -103,7 +104,8 @@ export class Config { apiRevision: number; } -export const buildConfig = (clusterConfigJSON: ClusterConfigJSON): Config => { +export const buildConfig = (clusterConfig: ClusterConfigJSON): Config => { + const clusterConfigJSON = removeTrailingSlashes(clusterConfig); const config = new Config(); config.rootUrl = clusterConfigJSON.Services.Controller.ExternalURL; config.baseUrl = `${config.rootUrl}/${ARVADOS_API_PATH}`; @@ -137,7 +139,7 @@ const removeTrailingSlashes = (config: ClusterConfigJSON): ClusterConfigJSON => svcs[s].ExternalURL = svcs[s].ExternalURL.replace(/\/+$/, ''); } }); - return {...config, Services: svcs}; + return { ...config, Services: svcs }; }; export const fetchConfig = () => { @@ -153,9 +155,8 @@ export const fetchConfig = () => { throw new Error(`Unable to start Workbench. API_HOST is undefined in ${WORKBENCH_CONFIG_URL} or the environment.`); } return Axios.get(getClusterConfigURL(workbenchConfig.API_HOST)).then(async response => { - const clusterConfigJSON = removeTrailingSlashes(response.data); - const apiRevision = await getApiRevision(clusterConfigJSON.Services.Controller.ExternalURL); - const config = { ...buildConfig(clusterConfigJSON), apiRevision }; + const apiRevision = await getApiRevision(response.data.Services.Controller.ExternalURL.replace(/\/+$/, '')); + const config = { ...buildConfig(response.data), apiRevision }; const warnLocalConfig = (varName: string) => console.warn( `A value for ${varName} was found in ${WORKBENCH_CONFIG_URL}. To use the Arvados centralized configuration instead, \ remove the entire ${varName} entry from ${WORKBENCH_CONFIG_URL}`); @@ -169,7 +170,7 @@ remove the entire ${varName} entry from ${WORKBENCH_CONFIG_URL}`); fileViewerConfigUrl = workbenchConfig.FILE_VIEWERS_CONFIG_URL; } else { - fileViewerConfigUrl = clusterConfigJSON.Workbench.FileViewersConfigURL || "/file-viewers-example.json"; + fileViewerConfigUrl = config.clusterConfig.Workbench.FileViewersConfigURL || "/file-viewers-example.json"; } config.fileViewersConfigUrl = fileViewerConfigUrl; @@ -179,7 +180,7 @@ remove the entire ${varName} entry from ${WORKBENCH_CONFIG_URL}`); vocabularyUrl = workbenchConfig.VOCABULARY_URL; } else { - vocabularyUrl = clusterConfigJSON.Workbench.VocabularyURL || "/vocabulary-example.json"; + vocabularyUrl = config.clusterConfig.Workbench.VocabularyURL || "/vocabulary-example.json"; } config.vocabularyUrl = vocabularyUrl; @@ -216,6 +217,7 @@ export const mockClusterConfigJSON = (config: Partial): Clust SSHHelpPageHTML: "", SSHHelpHostSuffix: "", SiteName: "", + IdleTimeout: "0s", }, Login: { LoginCluster: "",