From 3752625f72f254b5afa6ea7d6e41ea4324bd2a27 Mon Sep 17 00:00:00 2001 From: dvankeke Date: Mon, 11 May 2026 11:01:35 +0200 Subject: [PATCH 1/2] fix: secured repo url --- .../overview/CodeRepositoriesOverviewPage.tsx | 13 +++++++++++-- src/utils/constants.ts | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 src/utils/constants.ts diff --git a/src/pages/code-repositories/overview/CodeRepositoriesOverviewPage.tsx b/src/pages/code-repositories/overview/CodeRepositoriesOverviewPage.tsx index 8da79dd3..12d87f37 100644 --- a/src/pages/code-repositories/overview/CodeRepositoriesOverviewPage.tsx +++ b/src/pages/code-repositories/overview/CodeRepositoriesOverviewPage.tsx @@ -6,6 +6,7 @@ import { RouteComponentProps } from 'react-router-dom' import { getRole } from 'utils/data' import { useGetAllAplCodeReposQuery, useGetTeamAplCodeReposQuery } from 'redux/otomiApi' import { useAppSelector } from 'redux/hooks' +import { SAFE_REPO_URL } from 'utils/constants' import { HeadCell } from '../../../components/EnhancedTable' import RLink from '../../../components/Link' import ListTable from '../../../components/ListTable' @@ -23,12 +24,20 @@ const getCodeRepoName = (): CallableFunction => ) } +const getSafeRepositoryHref = (repositoryUrl: string): string | null => { + if (!SAFE_REPO_URL.test(repositoryUrl)) return null + return `https://${repositoryUrl}` +} + const getCodeRepoUrl = (): CallableFunction => function (row): string | React.ReactElement { - const repositoryUrl = row?.spec?.repositoryUrl ?? '' + const repositoryUrl = String(row?.spec?.repositoryUrl ?? '') + const href = getSafeRepositoryHref(repositoryUrl) + + if (!href) return repositoryUrl return ( - + {repositoryUrl} ) diff --git a/src/utils/constants.ts b/src/utils/constants.ts new file mode 100644 index 00000000..83ac192c --- /dev/null +++ b/src/utils/constants.ts @@ -0,0 +1,2 @@ +export const SAFE_REPO_URL = + /^(github\.com|gitlab\.com|[^/\s]+\.gitea[^/\s]*)\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/ From 0b2de0f8fa4d78db2b206d5aad9761be2b0db1a0 Mon Sep 17 00:00:00 2001 From: dvankeke Date: Tue, 12 May 2026 09:11:34 +0200 Subject: [PATCH 2/2] fix: git agnostic safe url --- src/utils/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 83ac192c..8410c402 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -1,2 +1,2 @@ export const SAFE_REPO_URL = - /^(github\.com|gitlab\.com|[^/\s]+\.gitea[^/\s]*)\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/ + /^(?:https:\/\/[A-Za-z0-9.-]+\.[A-Za-z]{2,}\/|git@[A-Za-z0-9.-]+\.[A-Za-z]{2,}:|[A-Za-z0-9.-]+\.[A-Za-z]{2,}\/)[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)+(?:\.git)?$/