diff --git a/api/chalicelib/core/assist.py b/api/chalicelib/core/assist.py index 1b6e8c405..dc70eaa6f 100644 --- a/api/chalicelib/core/assist.py +++ b/api/chalicelib/core/assist.py @@ -25,12 +25,15 @@ def get_live_sessions_ws(project_id, user_id=None): if user_id and len(user_id) > 0: params["userId"] = user_id try: - connected_peers = requests.get(config("assist") % config("S3_KEY") + f"/{project_key}", params) + connected_peers = requests.get(config("assist") % config("S3_KEY") + f"/{project_key}", params, timeout=6) if connected_peers.status_code != 200: print("!! issue with the peer-server") print(connected_peers.text) return [] live_peers = connected_peers.json().get("data", []) + except requests.exceptions.Timeout: + print("Timeout getting Assist response") + live_peers = [] except Exception as e: print("issue getting Live-Assist response") print(str(e)) @@ -60,12 +63,15 @@ def is_live(project_id, session_id, project_key=None): if project_key is None: project_key = projects.get_project_key(project_id) try: - connected_peers = requests.get(config("assistList") % config("S3_KEY") + f"/{project_key}") + connected_peers = requests.get(config("assistList") % config("S3_KEY") + f"/{project_key}", timeout=6) if connected_peers.status_code != 200: print("!! issue with the peer-server") print(connected_peers.text) return False connected_peers = connected_peers.json().get("data", []) + except requests.exceptions.Timeout: + print("Timeout getting Assist response") + return False except Exception as e: print("issue getting Assist response") print(str(e)) diff --git a/ee/utilities/server.js b/ee/utilities/server.js index df1a1a22f..39a2be790 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -1,9 +1,9 @@ +require('dotenv').config() const dumps = require('./utils/HeapSnapshot'); const {request_logger} = require('./utils/helper'); const express = require('express'); let socket; if (process.env.redis === "true") { - console.log("Using Redis"); socket = require("./servers/websocket-cluster"); } else { socket = require("./servers/websocket"); diff --git a/ee/utilities/servers/websocket-cluster.js b/ee/utilities/servers/websocket-cluster.js index 840db4439..6834aee46 100644 --- a/ee/utilities/servers/websocket-cluster.js +++ b/ee/utilities/servers/websocket-cluster.js @@ -18,7 +18,7 @@ const SESSION_RECONNECTED = "SESSION_RECONNECTED"; const REDIS_URL = process.env.REDIS_URL || "redis://localhost:6379"; const pubClient = createClient({url: REDIS_URL}); const subClient = pubClient.duplicate(); - +console.log(`Using Redis: ${REDIS_URL}`); let io; const debug = process.env.debug === "1" || false; @@ -389,11 +389,16 @@ module.exports = { console.error(e); } }, 20000, io); - Promise.all([pubClient.connect(), subClient.connect()]).then(() => { - io.adapter(createAdapter(pubClient, subClient)); - console.log("> redis connected."); - // io.listen(3000); - }); + Promise.all([pubClient.connect(), subClient.connect()]) + .then(() => { + io.adapter(createAdapter(pubClient, subClient)); + console.log("> redis connected."); + }) + .catch((err) => { + console.log("> redis connection error"); + console.error(err); + process.exit(2); + }); }, handlers: { socketsList, diff --git a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx index f46d76de0..9d895de13 100644 --- a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx +++ b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx @@ -1,5 +1,5 @@ import { useObserver } from 'mobx-react-lite'; -import React from 'react'; +import React, { useEffect } from 'react'; import { NoContent, Pagination } from 'UI'; import { useStore } from 'App/mstore'; import { getRE } from 'App/utils'; @@ -22,6 +22,10 @@ function MetricsList(props: Props) { const list: any = metricsSearch !== '' ? filterList(metrics) : metrics; const lenth = list.length; + useEffect(() => { + metricStore.updateKey('sessionsPage', 1); + }, []) + return useObserver(() => (
diff --git a/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx b/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx index 72c9c33c7..79b44bc5a 100644 --- a/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx +++ b/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx @@ -29,6 +29,7 @@ function WidgetForm(props: Props) { const isTable = metric.metricType === 'table'; const _issueOptions = [{ text: 'All', value: 'all' }].concat(issueOptions); const canAddToDashboard = metric.exists() && dashboards.length > 0; + const canAddSeries = metric.series.length < 3; const write = ({ target: { value, name } }) => metricStore.merge({ [ name ]: value }); const writeOption = (e, { value, name }) => { @@ -150,16 +151,17 @@ function WidgetForm(props: Props) {
-