From 7a74e33be13226098947b8cc658ccff483d58cc2 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Thu, 14 Aug 2025 21:59:34 +0800 Subject: [PATCH] Chore/minor execution view ui fix (#5069) * minor execution view ui fix * add password validation --- .../server/src/enterprise/utils/validation.util.ts | 12 +++++++++++- .../src/views/agentexecutions/ExecutionDetails.jsx | 3 ++- .../views/agentexecutions/PublicExecutionDetails.jsx | 12 ++++++++---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/server/src/enterprise/utils/validation.util.ts b/packages/server/src/enterprise/utils/validation.util.ts index 96015ee6..c1738fc4 100644 --- a/packages/server/src/enterprise/utils/validation.util.ts +++ b/packages/server/src/enterprise/utils/validation.util.ts @@ -18,6 +18,16 @@ export function isInvalidDateTime(dateTime: unknown): boolean { } export function isInvalidPassword(password: unknown): boolean { + // Minimum Length: At least 8 characters + // Maximum Length: No more than 128 characters + // Lowercase Letter: Must contain at least one lowercase letter (a-z) + // Uppercase Letter: Must contain at least one uppercase letter (A-Z) + // Digit: Must contain at least one number (0-9) + // Special Character: Must contain at least one special character (anything that's not a letter or number) + if (!password || typeof password !== 'string' || password.length > 128) { + return true + } + const regexPassword = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z0-9]).{8,}$/ - return !password || typeof password !== 'string' || !regexPassword.test(password) + return !regexPassword.test(password) } diff --git a/packages/ui/src/views/agentexecutions/ExecutionDetails.jsx b/packages/ui/src/views/agentexecutions/ExecutionDetails.jsx index 90fbc18a..c89a1130 100644 --- a/packages/ui/src/views/agentexecutions/ExecutionDetails.jsx +++ b/packages/ui/src/views/agentexecutions/ExecutionDetails.jsx @@ -725,7 +725,8 @@ export const ExecutionDetails = ({ open, isPublic, execution, metadata, onClose, flex: '1 1 35%', padding: 2, borderRight: 1, - borderColor: 'divider' + borderColor: 'divider', + overflow: 'auto' }} > { return ( <> - {!isLoading ? ( + {isLoading ? ( + + + + ) : ( <> - {!execution || getExecutionByIdPublicApi.error ? ( + {getExecutionByIdPublicApi.error ? ( { /> )} - ) : null} + )} ) }