diff --git a/api/auth/auth_jwt.py b/api/auth/auth_jwt.py index bf6c1901b..1ac8d5d79 100644 --- a/api/auth/auth_jwt.py +++ b/api/auth/auth_jwt.py @@ -23,9 +23,26 @@ class JWTAuth(HTTPBearer): or jwt_payload.get("iat") is None or jwt_payload.get("aud") is None \ or not users.auth_exists(user_id=jwt_payload["userId"], tenant_id=jwt_payload["tenantId"], jwt_iat=jwt_payload["iat"], jwt_aud=jwt_payload["aud"]): + print("JWTAuth: Token issue") + if jwt_payload is not None: + print(jwt_payload) + print(f"JWTAuth: user_id={jwt_payload.get('userId')} tenant_id={jwt_payload.get('tenantId')}") + if jwt_payload is None: + print("JWTAuth: jwt_payload is None") + print(credentials.scheme + " " + credentials.credentials) + if jwt_payload is not None and jwt_payload.get("iat") is None: + print("JWTAuth: iat is None") + if jwt_payload is not None and jwt_payload.get("aud") is None: + print("JWTAuth: aud is None") + if jwt_payload is not None and \ + not users.auth_exists(user_id=jwt_payload["userId"], tenant_id=jwt_payload["tenantId"], + jwt_iat=jwt_payload["iat"], jwt_aud=jwt_payload["aud"]): + print("JWTAuth: not users.auth_exists") + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="Invalid token or expired token.") user = users.get(user_id=jwt_payload["userId"], tenant_id=jwt_payload["tenantId"]) if user is None: + print("JWTAuth: User not found.") raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="User not found.") jwt_payload["authorizer_identity"] = "jwt" print(jwt_payload) @@ -36,4 +53,5 @@ class JWTAuth(HTTPBearer): return request.state.currentContext else: + print("JWTAuth: Invalid authorization code.") raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Invalid authorization code.") diff --git a/frontend/app/components/Alerts/Notifications/Notifications.js b/frontend/app/components/Alerts/Notifications/Notifications.js index 72aa8db8d..deb14b640 100644 --- a/frontend/app/components/Alerts/Notifications/Notifications.js +++ b/frontend/app/components/Alerts/Notifications/Notifications.js @@ -18,7 +18,10 @@ class Notifications extends React.Component { constructor(props) { super(props); - props.fetchList(); + setTimeout(() => { + props.fetchList(); + }, 1000); + setInterval(() => { props.fetchList(); }, AUTOREFRESH_INTERVAL); diff --git a/frontend/app/components/Assist/components/AssistTabs/AssistTabs.tsx b/frontend/app/components/Assist/components/AssistTabs/AssistTabs.tsx index 07af99e24..539c2d8d1 100644 --- a/frontend/app/components/Assist/components/AssistTabs/AssistTabs.tsx +++ b/frontend/app/components/Assist/components/AssistTabs/AssistTabs.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { SlideModal, Avatar, Icon } from 'UI'; +import { SlideModal, Avatar, TextEllipsis, Icon } from 'UI'; import SessionList from '../SessionList'; import stl from './assistTabs.css' @@ -19,7 +19,11 @@ const AssistTabs = (props: Props) => {
{/* */} -
{props.userId}'s
+
+ + {props.userId}'s asdasd asdasdasdasd + +
- +
)} diff --git a/frontend/app/components/shared/ErrorsBadge/ErrorsBadge.js b/frontend/app/components/shared/ErrorsBadge/ErrorsBadge.js index 073d252d8..74700eaf5 100644 --- a/frontend/app/components/shared/ErrorsBadge/ErrorsBadge.js +++ b/frontend/app/components/shared/ErrorsBadge/ErrorsBadge.js @@ -9,16 +9,19 @@ import { const AUTOREFRESH_INTERVAL = 5 * 60 * 1000; const weekRange = getDateRangeFromValue(DATE_RANGE_VALUES.LAST_7_DAYS); +let intervalId = null -function ErrorsBadge({ errorsStats = {}, fetchNewErrorsCount }) { +function ErrorsBadge({ errorsStats = {}, fetchNewErrorsCount, projects }) { useEffect(() => { + if (projects.size === 0 || !!intervalId) return; + const params = { startTimestamp: weekRange.start.unix() * 1000, endTimestamp: weekRange.end.unix() * 1000 }; fetchNewErrorsCount(params) - setInterval(() => { + intervalId = setInterval(() => { fetchNewErrorsCount(params); }, AUTOREFRESH_INTERVAL); - }, []) + }, [projects]) return errorsStats.unresolvedAndUnviewed > 0 ? (
{
}
@@ -27,4 +30,5 @@ function ErrorsBadge({ errorsStats = {}, fetchNewErrorsCount }) { export default connect(state => ({ errorsStats: state.getIn([ 'errors', 'stats' ]), + projects: state.getIn([ 'site', 'list' ]), }), { fetchNewErrorsCount })(ErrorsBadge) diff --git a/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx b/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx index 8ffd256bd..cb503a745 100644 --- a/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx +++ b/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx @@ -161,7 +161,7 @@ function LiveSessionList(props: Props) { ))} - {metaList.slice(0, MAX_LENGTH).map(({ label, value }, index) => ( + {metaList.slice(0, maxLength).map(({ label, value }, index) => ( ))} - {metaList.length > MAX_LENGTH && ( - + {metaList.length > maxLength && ( + )}
)