From 94c80aec57bad42f1e5cc2cd8216d56114b5ac5e Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Thu, 24 Feb 2022 22:20:16 +0100 Subject: [PATCH 1/4] feat(api): added JWT auth logs on failure --- api/auth/auth_jwt.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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.") From 31137dd0012754a93d80ecaf09d0c3531349454a Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Thu, 24 Feb 2022 23:07:27 +0100 Subject: [PATCH 2/4] fix(ui) - errors api call --- .../components/Alerts/Notifications/Notifications.js | 5 ++++- .../app/components/shared/ErrorsBadge/ErrorsBadge.js | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) 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/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) From 6419b3013681b9714967c97e0c2972c731ec904d Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Fri, 25 Feb 2022 13:27:47 +0100 Subject: [PATCH 3/4] fix(ui) - text overflow in player header --- .../Assist/components/AssistTabs/AssistTabs.tsx | 8 ++++++-- .../app/components/Session_/PlayerBlockHeader.js | 2 +- .../SessionItem/SessionMetaList/SessionMetaList.tsx | 13 +++++++------ 3 files changed, 14 insertions(+), 9 deletions(-) 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/SessionItem/SessionMetaList/SessionMetaList.tsx b/frontend/app/components/shared/SessionItem/SessionMetaList/SessionMetaList.tsx index d43f920c7..8b0e77ed5 100644 --- a/frontend/app/components/shared/SessionItem/SessionMetaList/SessionMetaList.tsx +++ b/frontend/app/components/shared/SessionItem/SessionMetaList/SessionMetaList.tsx @@ -6,19 +6,20 @@ import MetaMoreButton from '../MetaMoreButton'; interface Props { className?: string, - metaList: [] + metaList: [], + maxLength?: number, } -const MAX_LENGTH = 4; + export default function SessionMetaList(props: Props) { - const { className = '', metaList } = props + const { className = '', metaList, maxLength = 4 } = props return (
- {metaList.slice(0, MAX_LENGTH).map(({ label, value }, index) => ( + {metaList.slice(0, maxLength).map(({ label, value }, index) => ( ))} - {metaList.length > MAX_LENGTH && ( - + {metaList.length > maxLength && ( + )}
) From 2e33398efa24abf3cb7926de838b5f5a4e7287f3 Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Fri, 25 Feb 2022 13:29:01 +0100 Subject: [PATCH 4/4] fix(ui) - loadmore button bottom padding --- .../app/components/shared/LiveSessionList/LiveSessionList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) { ))}