diff --git a/tests/config.test.ini b/tests/config.test.ini index 3bbc88e12b..68bab979e0 100644 --- a/tests/config.test.ini +++ b/tests/config.test.ini @@ -97,6 +97,7 @@ arkimeWebURL = localhost:8123/arkime/ turnOffGraphDays = 30 disableUserPasswordUI=false authMode=digest +defaultTimeRange=-1 [testmulties] pcapWriteMethod=simple diff --git a/viewer/viewer.js b/viewer/viewer.js index 3ecc6a47d7..0296367c51 100644 --- a/viewer/viewer.js +++ b/viewer/viewer.js @@ -2002,7 +2002,8 @@ app.use(cspHeader, setCookie, (req, res) => { businessDays: Config.get('businessDays', '1,2,3,4,5'), turnOffGraphDays: Config.get('turnOffGraphDays', 30), disableUserPasswordUI: Config.get('disableUserPasswordUI', true), - logoutUrl: Auth.logoutUrl + logoutUrl: Auth.logoutUrl, + defaultTimeRange: Config.get('defaultTimeRange', '1') }; // Create a fresh Vue app instance diff --git a/viewer/vueapp/index.html b/viewer/vueapp/index.html index d1bd16b2e6..a5a3602dc4 100644 --- a/viewer/vueapp/index.html +++ b/viewer/vueapp/index.html @@ -25,6 +25,7 @@ const TURN_OFF_GRAPH_DAYS = {{ turnOffGraphDays }}; const DISABLE_USER_PASSWORD_UI = {{ disableUserPasswordUI }}; const LOGOUT_URL = '{{ logoutUrl }}'; + const DEFAULT_TIME_RANGE = '{{ defaultTimeRange }}'; diff --git a/viewer/vueapp/src/components/search/Time.vue b/viewer/vueapp/src/components/search/Time.vue index da7f5b0d24..7be6f00986 100644 --- a/viewer/vueapp/src/components/search/Time.vue +++ b/viewer/vueapp/src/components/search/Time.vue @@ -369,11 +369,11 @@ export default { this.setCurrentTime(); let date = this.$route.query.date; - // if no time params exist, default to last hour + // if no time params exist, default to config default or last hour if (!this.$route.query.startTime && !this.$route.query.stopTime && !this.$route.query.date) { - date = 1; + date = this.$constants.DEFAULT_TIME_RANGE ?? 1; } this.setupTimeParams( @@ -711,11 +711,11 @@ export default { this.localStartTime = moment(start * 1000); this.time.startTime = start; } else { // if we can't parse stop or start time, set default - this.timeRange = '1'; // default to 1 hour + this.timeRange = this.$constants.DEFAULT_TIME_RANGE ?? '1'; // default to config or 1 hour } } else { // there are no time query parameters, so set defaults - this.timeRange = '1'; // default to 1 hour + this.timeRange = this.$constants.DEFAULT_TIME_RANGE ?? '1'; // default to config or 1 hour } }, /* watch for the url parameters to change and update the page */ diff --git a/viewer/vueapp/src/main.js b/viewer/vueapp/src/main.js index b6ee20d1a0..bd3869b9ab 100644 --- a/viewer/vueapp/src/main.js +++ b/viewer/vueapp/src/main.js @@ -79,7 +79,8 @@ new Vue({ DISABLE_USER_PASSWORD_UI, BUILD_VERSION, // from webpack.DefinePlugin BUILD_DATE, // from webpack.DefinePlugin - LOGOUT_URL + LOGOUT_URL, + DEFAULT_TIME_RANGE }; } }); diff --git a/viewer/vueapp/src/store.js b/viewer/vueapp/src/store.js index dae12b5dbb..1dc2016d6f 100644 --- a/viewer/vueapp/src/store.js +++ b/viewer/vueapp/src/store.js @@ -23,7 +23,7 @@ const store = new Vuex.Store({ fieldsMap: {}, // NOTE: this has duplicate fields where dbField and dbField2 are different fieldsAliasMap: {}, fieldhistory: [], - timeRange: 1, + timeRange: DEFAULT_TIME_RANGE ?? 1, /* eslint-disable-line no-undef */ expression: undefined, time: { startTime: undefined, diff --git a/viewer/vueapp/tests/jest.setup.js b/viewer/vueapp/tests/jest.setup.js index 1399c9110e..ce60e083b2 100644 --- a/viewer/vueapp/tests/jest.setup.js +++ b/viewer/vueapp/tests/jest.setup.js @@ -1 +1,3 @@ jest.setTimeout(30000); + +global.DEFAULT_TIME_RANGE = 1;