From 6a97bde32cee64450e6281afdefcc13094ded5ed Mon Sep 17 00:00:00 2001 From: Maxwell Frank <92897870+MaxFrank13@users.noreply.github.com> Date: Mon, 27 Oct 2025 11:34:30 -0400 Subject: [PATCH 1/3] fix: baseAppUrl wrapping links * fix: Run `npm audit fix` to update dependencies. * chore(deps): update dependency @openedx/paragon to v23.14.9 (#735) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency @reduxjs/toolkit to v2.9.1 (#736) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): bump actions/setup-node from 5 to 6 (#737) --------- Co-authored-by: Feanil Patel Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../CourseCard/components/CourseCardActions/ResumeButton.jsx | 3 ++- .../components/CourseCardBanners/CertificateBanner.jsx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/containers/CourseCard/components/CourseCardActions/ResumeButton.jsx b/src/containers/CourseCard/components/CourseCardActions/ResumeButton.jsx index 3d5c344b4..d53aeada6 100644 --- a/src/containers/CourseCard/components/CourseCardActions/ResumeButton.jsx +++ b/src/containers/CourseCard/components/CourseCardActions/ResumeButton.jsx @@ -4,6 +4,7 @@ import PropTypes from 'prop-types'; import { useIntl } from '@edx/frontend-platform/i18n'; import { EXECUTIVE_EDUCATION_COURSE_MODES } from 'data/constants/course'; +import { baseAppUrl } from 'data/services/lms/urls'; import track from 'tracking'; import { useCourseTrackingEvent, useCourseData } from 'hooks'; import { useInitializeLearnerHome } from 'data/hooks'; @@ -26,7 +27,7 @@ export const ResumeButton = ({ cardId }) => { const handleClick = useCourseTrackingEvent( track.course.enterCourseClicked, cardId, - resumeUrl + execEdTrackingParam, + baseAppUrl(resumeUrl) + execEdTrackingParam, ); return ( { {certificate.certPreviewUrl && ( <> {' '} - + {formatMessage(messages.viewCertificate)} From 0ef3454172c03bd07a87faf907dc322fc96014c3 Mon Sep 17 00:00:00 2001 From: MaxFrank13 Date: Fri, 27 Mar 2026 18:08:31 +0000 Subject: [PATCH 2/3] fix: test --- .../components/CourseCardActions/ResumeButton.test.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx b/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx index b6db87fdd..5a3e02068 100644 --- a/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx +++ b/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx @@ -6,6 +6,7 @@ import { useCourseTrackingEvent, useCourseData } from 'hooks'; import track from 'tracking'; import useActionDisabledState from '../hooks'; import ResumeButton from './ResumeButton'; +import { baseAppUrl } from 'data/services/lms/urls'; const authOrgId = 'auth-org-id'; jest.mock('data/hooks', () => ({ @@ -40,7 +41,7 @@ jest.mock('./ActionButton/hooks', () => jest.fn(() => false)); useCourseData.mockReturnValue({ enrollment: { mode: 'executive-education' }, - courseRun: { resumeUrl: 'home-url' }, + courseRun: { resumeUrl: '/resume-url' }, }); describe('ResumeButton', () => { @@ -84,7 +85,7 @@ describe('ResumeButton', () => { expect(useCourseTrackingEvent).toHaveBeenCalledWith( track.course.enterCourseClicked, props.cardId, - `home-url?org_id=${authOrgId}`, + baseAppUrl(`/resume-url?org_id=${authOrgId}`), ); }); }); From 23a8dae7b49e63c85ad1bab7c5424b8905db7eb9 Mon Sep 17 00:00:00 2001 From: MaxFrank13 Date: Fri, 27 Mar 2026 18:11:21 +0000 Subject: [PATCH 3/3] fix: lint --- .../components/CourseCardActions/ResumeButton.test.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx b/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx index 5a3e02068..59647f6b6 100644 --- a/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx +++ b/src/containers/CourseCard/components/CourseCardActions/ResumeButton.test.jsx @@ -2,11 +2,11 @@ import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { IntlProvider } from '@edx/frontend-platform/i18n'; import { useCourseTrackingEvent, useCourseData } from 'hooks'; +import { baseAppUrl } from 'data/services/lms/urls'; import track from 'tracking'; import useActionDisabledState from '../hooks'; import ResumeButton from './ResumeButton'; -import { baseAppUrl } from 'data/services/lms/urls'; const authOrgId = 'auth-org-id'; jest.mock('data/hooks', () => ({