feat: Revert ability to create Legacy Libraries#3077
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Thanks for the pull request, @salman2013! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. DetailsWhere can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3077 +/- ##
==========================================
- Coverage 95.61% 95.61% -0.01%
==========================================
Files 1391 1386 -5
Lines 33075 32995 -80
Branches 7680 7424 -256
==========================================
- Hits 31626 31548 -78
- Misses 1384 1394 +10
+ Partials 65 53 -12 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR removes the in-app “Create Legacy Library” flow and instead routes legacy-library creation users to the Studio “home_library” page via a direct URL.
Changes:
- Update StudioHome “New library” behavior for legacy (v1) libraries to open
${STUDIO_BASE_URL}/home_library. - Update StudioHome tests to assert
window.openis called instead of SPA navigation. - Remove legacy library creation UI/API/hooks/messages and the
/libraries-v1/createroute/export.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/studio-home/StudioHome.tsx | Opens legacy library creation via window.open to home_library instead of client-side routing. |
| src/studio-home/StudioHome.test.tsx | Updates expectation to window.open for legacy library creation. |
| src/library-authoring/index.tsx | Removes export for legacy library creation component. |
| src/library-authoring/create-legacy-library/messages.ts | Deletes legacy create-library i18n messages. |
| src/library-authoring/create-legacy-library/index.ts | Deletes legacy create-library module export. |
| src/library-authoring/create-legacy-library/data/apiHooks.ts | Deletes legacy create-library mutation hook. |
| src/library-authoring/create-legacy-library/data/api.ts | Deletes legacy create-library API helper. |
| src/library-authoring/create-legacy-library/CreateLegacyLibrary.tsx | Deletes legacy create-library page/component. |
| src/library-authoring/create-legacy-library/CreateLegacyLibrary.test.tsx | Removes tests for deleted legacy create-library flow. |
| src/index.jsx | Removes /libraries-v1/create route and CreateLegacyLibrary import usage. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Studio home library for legacy libraries | ||
| window.open(`${getConfig().STUDIO_BASE_URL}/home_library`); |
| courseCreatorStatus: COURSE_CREATOR_STATES.granted, | ||
| librariesV2Enabled: false, | ||
| }); | ||
| const studioBaseUrl = 'http://localhost:18010'; |
| const mockWindowOpen = jest.spyOn(window, 'open'); | ||
| fireEvent.click(createNewLibraryButton); | ||
| expect(mockNavigate).toHaveBeenCalledWith('/libraries-v1/create'); | ||
| expect(mockWindowOpen).toHaveBeenCalledWith(`${studioBaseUrl}/home_library`); | ||
| mockWindowOpen.mockRestore(); |
Description
In this PR, we reverted the code that added the ability to create legacy libraries.
Ref: #2551
Ticket: openedx/openedx-platform#38056
Testing instructions
Getting there:
Test v2 CreateLibrary unchanged:
Best Practices Checklist
We're trying to move away from some deprecated patterns in this codebase. Please
check if your PR meets these recommendations before asking for a review:
.ts,.tsx).propTypesanddefaultPropsin any new or modified code.src/testUtils.tsx(specificallyinitializeMocks)apiHooks.tsin this repo for examples.messages.tsfiles have adescriptionfor translators to use.../in import paths. To import from parent folders, use@src, e.g.import { initializeMocks } from '@src/testUtils';instead offrom '../../../../testUtils'