-
Notifications
You must be signed in to change notification settings - Fork 302
feat: remove waffle flags for managing course outline sidebar #1713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: remove waffle flags for managing course outline sidebar #1713
Conversation
|
Thanks for the pull request, @ihor-romaniuk! 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. |
f7a40b1 to
2fb7ca8
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1713 +/- ##
==========================================
- Coverage 90.45% 90.33% -0.12%
==========================================
Files 344 344
Lines 5802 5793 -9
Branches 1395 1394 -1
==========================================
- Hits 5248 5233 -15
- Misses 535 541 +6
Partials 19 19 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I haven't taken a full look at this yet, but my first impressions are that it is looking pretty good. Would you be able to break off the part adding the |
|
@brian-smith-tcril I prepared new pull request with moving the |
|
Sandbox deployment successful 🚀 |
ac4b03d to
c18958a
Compare
robrap
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless I’m mistaken, this is a removal PR for a DEPR that hasn’t made it to the Breaking Changes Unblocked state. I think the DEPR ticket may need a coordinator from the DEPR WG assigned to help ensure the changes move forward without hurting deployments, especially early deployers. Thank you.
I’m temporarily marking with Request Changes to ensure this doesn’t merge yet.
|
I've updated the DEPR and am seeking feedback on timing in https://discuss.openedx.org/t/deprecation-ability-to-modify-learning-mfe-sidebar-behavior-with-waffle-flags/15119/4?u=feanil Given that the replacement has existed for some time and there were no objections, I'm proposing we land this by next week, please chime in on the DEPR ticket or the discuss thread about concerns with that timing. @ihor-romaniuk thanks for the PR, sorry about the DEPR process churn, we're in the middle of changing that process so there is a bit of adapting we have to do. |
|
Sandbox deployment failed 💥 |
|
Sandbox deployment failed 💥 |
|
Sandbox deployment successful 🚀 |
| <CourseOutlineSidebarSlot /> | ||
| <div className="sequence w-100"> | ||
| {!isEnabledOutlineSidebar && ( | ||
| {!getConfig().ENABLE_SEQUENCE_NAVIGATION && ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- It seems like
ENABLE_SEQUENCE_NAVIGATIONis new, was a specific decision made to usegetConfig()for this as opposed to relying on FPF slots? - The logic here feels backwards, as it stands it seems
SequenceNavigationis rendered whengetConfig().ENABLE_SEQUENCE_NAVIGATIONis falsy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- You are right. The
ENABLE_SEQUENCE_NAVIGATIONconfig is new, and its main purpose is to allow this functionality to remain disabled by default, since as far as I know, we cannot keep a plugin slot disabled by default. - That was my mistake, and it has been fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The goal here would not be to enable/disable the slot - the slot should always be rendered. The goal is to render nothing in the slot by default.
The way I would handle this using only FPF slots would be to:
- Keep the
SequenceNavigationin the codebase, but no longer have it as the default content of theSequenceNavigationSlot. - Update the
SequenceNavigationSlotREADME to include an exampleenv.config.jsxshowing how to use theSequenceNavigationcomponent in theSequenceNavigationSlot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have updated pull request with:
- set default (empty) state to
SequenceNavigationSlot - add an example of usage
SequenceNavigationSlotwith a defaultSequenceNavigationcomponent - update tests (code coverage is a bit lower since we removed the
SequenceNavigationcomponent from the code and I don't think it needs to be tested separately since it's an option we don't use by default)
|
Sandbox deployment successful 🚀 |
a8c907a to
1a706f5
Compare
1a706f5 to
9d06665
Compare
|
@brian-smith-tcril I’ve reverted the recent changes related to the plugin slot version bump. The PR is now ready for review. |
|
Sandbox deployment failed 💥 |
|
Sandbox deployment successful 🚀 |
|
@ihor-romaniuk it looks like code coverage for this change is quite low. I see that some tests have been removed. Could you look into updating some of those tests instead of removing them? |
06c4cb1 to
60ed4d3
Compare
60ed4d3 to
ead604f
Compare
@brian-smith-tcril I’ve updated the tests and excluded unused methods from the Codecov coverage report, as these handlers are passed solely to support the props required by the plugin slot, though they are not used by default. |
|
Sandbox deployment successful 🚀 |
brian-smith-tcril
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Thank you for your patience with the review process!
|
Sandbox deployment successful 🚀 |
|
A note that this probably should have come with a |
What renaming of the plugin slot? The ids are still:
|
…x#1713) * feat: remove waffle flags for managing course outline sidebar * fix: flag and tests * fix: product-tours tests * fix: remove default content for SequenceNavigationSlot and update tests * fix: remove default content for CourseBreadcrumbsSlot * fix: update plugin-slots version and documentation * revert: update plugin-slots version * fix: update tests
…x#1713) * feat: remove waffle flags for managing course outline sidebar * fix: flag and tests * fix: product-tours tests * fix: remove default content for SequenceNavigationSlot and update tests * fix: remove default content for CourseBreadcrumbsSlot * fix: update plugin-slots version and documentation * revert: update plugin-slots version * fix: update tests
commit 1d5484f Author: Jansen Kantor <[email protected]> Date: Tue Oct 28 11:12:33 2025 -0400 fix: re-add removed import (openedx#1815) commit 52692dc Author: Muhammad Anas <[email protected]> Date: Fri Oct 24 22:55:12 2025 +0500 refactor: shift grade summary calculation to backend and display "hidden grades" label in the grade table (openedx#1797) Refactors the grade summary logic to delegate all calculation responsibilities to the backend. Previously, the frontend was performing grade summary computations using data fetched from the API. Now, the API itself provides the fully computed grade summary, simplifying the frontend and ensuring consistent results across clients. Additionally, a "Hidden Grades" label has been added in the grade summary table to clearly indicate sections where grades are not visible to learners. Finally, for visibility settings that depend on the due date, this PR adds a banner on the Progress page indicating that grades are not yet released, along with the relevant due date information. commit f91af21 Author: Jansen Kantor <[email protected]> Date: Mon Oct 20 12:03:07 2025 -0400 feat: add plugin slot for content iframe error component (openedx#1771) * feat: add plugin slot for content iframe error component * style: quality * fix: copilot suggestions commit 7318fb3 Author: edX requirements bot <[email protected]> Date: Sun Oct 19 20:41:43 2025 -0400 chore: update browserslist DB (openedx#1808) Co-authored-by: abdullahwaheed <[email protected]> commit 7233f08 Author: Michael Roytman <[email protected]> Date: Wed Oct 15 13:35:20 2025 -0400 feat: update version of frontend-lib-learning-assistant to 2.23.1 (openedx#1807) This commit installs version 2.23.1 of @edx/frontend-lib-learning-assistant. This release fixes a bug where the Xpert Learning Assistant was only available to learners in the audit and credit modes. See https://github.com/edx/frontend-lib-learning-assistant/releases/tag/v2.23.1. commit d6d229f Author: edX requirements bot <[email protected]> Date: Sun Oct 12 20:40:36 2025 -0400 chore: update browserslist DB (openedx#1799) Co-authored-by: abdullahwaheed <[email protected]> commit 47b9a43 Author: Muhammad Anas <[email protected]> Date: Wed Oct 8 18:48:07 2025 +0500 chore: bump frontend-component-header to v8.x.x (openedx#1791) * chore: bump frontend-component-header to v6.6.x * chore: bump frontend-component-header to ^8.0.0 commit e556d5b Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Oct 7 19:17:29 2025 +0000 chore(deps): update dependency @edx/frontend-component-header to v6.4.2 (openedx#1804) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 694d95a Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Oct 7 16:13:33 2025 +0000 chore(deps): update dependency @edx/frontend-component-footer to v14.9.2 (openedx#1803) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit e83813d Author: PKulkoRaccoonGang <[email protected]> Date: Mon Oct 6 09:00:26 2025 +0300 build: Upgrade to node 24 and update package-lock.json commit a54a1b8 Author: edX requirements bot <[email protected]> Date: Sun Sep 28 20:39:45 2025 -0400 chore: update browserslist DB (openedx#1795) Co-authored-by: abdullahwaheed <[email protected]> commit d3188ef Author: Feanil Patel <[email protected]> Date: Tue Sep 23 13:52:53 2025 -0400 build: remove unused @edx/reactifex package Remove @edx/reactifex package from devDependencies as it is no longer needed. Translation extraction functionality has been verified to work correctly without this dependency. Co-Authored-By: Claude <[email protected]> commit 33f7375 Author: edX requirements bot <[email protected]> Date: Sun Sep 21 20:41:28 2025 -0400 chore: update browserslist DB (openedx#1793) Co-authored-by: abdullahwaheed <[email protected]> commit 8702630 Author: Agrendalath <[email protected]> Date: Sat Apr 5 18:09:46 2025 +0200 fix: ensure iframe visibility tracking is triggered on load The previous implementation had a race condition that sometimes prevented XBlocks from being marked as viewed. Users had to scroll or resize the window to trigger visibility tracking instead of having it happen once content loads. commit af50d5a Author: Peter Kulko <[email protected]> Date: Tue Sep 16 17:55:28 2025 +0300 test: Add Node 24 to CI matrix (openedx#1752) commit 7fccf77 Author: Samuel Allan <[email protected]> Date: Mon Sep 1 14:41:52 2025 +0930 fix: update frontend-build to fix install issues Earlier versions of @openedx/frontend-build used on older version of 'sharp', which caused intermittent installation issues. The version of 'sharp' was updated in @openedx/frontend-build to fix these issues, so the frontend-build version can be updated here, to fix the issues in this project too. See openedx/frontend-build#664 and openedx/frontend-build#665 for more information. The frontend-build dependency was updated by: ``` npm install --package-lock-only @openedx/frontend-build ``` Private-ref: https://tasks.opencraft.com/browse/BB-9953 commit c760bc4 Author: edX requirements bot <[email protected]> Date: Sun Sep 7 20:40:25 2025 -0400 chore: update browserslist DB (openedx#1788) Co-authored-by: abdullahwaheed <[email protected]> commit d5140a6 Author: edX requirements bot <[email protected]> Date: Sun Aug 31 20:46:51 2025 -0400 chore: update browserslist DB (openedx#1784) Co-authored-by: abdullahwaheed <[email protected]> commit 9bf5d01 Author: Isaac Lee <[email protected]> Date: Mon Aug 25 12:54:13 2025 -0400 chore: update learning assistant plugin 2.23.0 (openedx#1781) commit f333408 Author: edX requirements bot <[email protected]> Date: Sun Aug 24 20:41:09 2025 -0400 chore: update browserslist DB (openedx#1783) Co-authored-by: abdullahwaheed <[email protected]> commit 4840fff Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Aug 21 14:21:56 2025 -0700 chore(deps): bump actions/download-artifact from 4 to 5 (openedx#1779) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v4...v5) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 579bd03 Author: Muhammad Adeel Tajamul <[email protected]> Date: Thu Aug 21 23:09:28 2025 +0500 feat: updated notification preferences unsubscribe flow (openedx#1778) commit 2b4a966 Author: abdullahwaheed <[email protected]> Date: Mon Aug 18 00:39:50 2025 +0000 chore: update browserslist DB commit a6e4e28 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Aug 11 22:15:57 2025 +0000 chore(deps): bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> commit e6f7588 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Aug 5 20:30:19 2025 +0000 chore(deps): bump js-toml from 1.0.1 to 1.0.2 Bumps [js-toml](https://github.com/sunnyadn/js-toml) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/sunnyadn/js-toml/releases) - [Commits](sunnyadn/js-toml@v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: js-toml dependency-version: 1.0.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> commit db29e31 Author: Muhammad Anas <[email protected]> Date: Mon Aug 4 19:36:44 2025 +0500 feat: customize proctoring review requirements link using externalLinkUrlOverrides (openedx#1775) commit e9121f9 Author: Diana Olarte <[email protected]> Date: Mon May 26 15:39:18 2025 +1000 feat: display the certificate available date if available in progress tab commit 9cbc227 Author: Nawfal Ahmed <[email protected]> Date: Thu Jul 31 23:53:18 2025 +0500 feat: use discount info endpoint for streak discount information (openedx#1763) * feat: use discount info endpoint for streak discount information * feat: pass course run key to discount code info call * feat: move changes behind a flag * fix: use async IIFE inside useEffect * fix: fix line length * fix: remove default value in dev * fix: improve coverage by adding conditional test based on env value * refactor: move logic inside function * refactor: move functions to utils * fix: ignore merge config commit 4c8aa7c Author: Maniraja Raman <[email protected]> Date: Wed Jul 30 02:18:07 2025 +0530 feat: add FEATURE_ENABLE_CHAT_V2_ENDPOINT to environment files and update library version (openedx#1768) commit 6892633 Author: Diana Villalvazo <[email protected]> Date: Tue Jul 29 08:13:07 2025 -0600 test: transform snapshot into rtl test 1/2 (openedx#1756) * test: remove snapshots and use rtl tests * test: improve coverage on search results test commit 56a73ee Author: Diana Villalvazo <[email protected]> Date: Tue Jul 29 08:03:07 2025 -0600 test: transform snapshot into rtl test 2/2 (openedx#1757) * test: remove snapshots and use rtl tests * test: add expected result on map search commit bf95916 Author: Jacobo Dominguez <[email protected]> Date: Mon Jul 28 12:10:49 2025 -0600 docs: add comprehensive readme documentation for plugin slots (openedx#1770) commit 48270c3 Author: Diana Villalvazo <[email protected]> Date: Mon Jul 28 12:02:55 2025 -0600 chore: remove react-unit-test-utils package (openedx#1758) commit 33d7d66 Author: Diana Villalvazo <[email protected]> Date: Mon Jul 28 10:48:53 2025 -0600 test: deprecate react-unit-test-utils 1/2 (openedx#1750) commit a75c89c Author: Diana Villalvazo <[email protected]> Date: Mon Jul 28 10:12:32 2025 -0600 test: deprecate react-test-utils 2/2 (openedx#1751) commit 06902d8 Author: Ihor Romaniuk <[email protected]> Date: Mon Jul 21 20:57:43 2025 +0200 feat: remove waffle flags for managing course outline sidebar (openedx#1713) * feat: remove waffle flags for managing course outline sidebar * fix: flag and tests * fix: product-tours tests * fix: remove default content for SequenceNavigationSlot and update tests * fix: remove default content for CourseBreadcrumbsSlot * fix: update plugin-slots version and documentation * revert: update plugin-slots version * fix: update tests commit e413464 Author: edX requirements bot <[email protected]> Date: Sun Jul 6 20:44:46 2025 -0400 chore: update browserslist DB (openedx#1755) Co-authored-by: abdullahwaheed <[email protected]> commit 77fcc83 Author: edX requirements bot <[email protected]> Date: Sun Jun 29 20:43:50 2025 -0400 chore: update browserslist DB (openedx#1744) Co-authored-by: abdullahwaheed <[email protected]> commit b050535 Author: Farhaan Bukhsh <[email protected]> Date: Tue Jul 30 00:57:46 2024 +0530 fix: Fixes the auto_advance feature for video XBlock The commit adds eventlistener which picks up the autoAdvance message and triggers the next sequence. This has the same effect of clicking the next button. Signed-off-by: Farhaan Bukhsh <[email protected]> commit ddbc212 Author: Brian Smith <[email protected]> Date: Wed Jun 18 12:07:01 2025 -0400 feat!: add design tokens support (openedx#1737) BREAKING CHANGE: Pre-design-tokens theming is no longer supported. Co-authored-by: Diana Olarte <[email protected]> commit 462e75f Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Jun 18 14:03:53 2025 +0000 fix(deps): update dependency @edx/frontend-platform to v8.4.0 (openedx#1739) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit bc4c8c2 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Jun 18 05:29:53 2025 +0000 fix(deps): update dependency @edx/frontend-component-footer to v14.9.0 (openedx#1736) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit ecd5164 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Jun 18 01:03:51 2025 +0000 fix(deps): update dependency @openedx/frontend-build to v14.6.1 (openedx#1700) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> commit 44d952b Author: edX requirements bot <[email protected]> Date: Sun Jun 15 20:42:49 2025 -0400 chore: update browserslist DB (openedx#1734) Co-authored-by: abdullahwaheed <[email protected]>
DEPR: openedx/public-engineering#316 (comment)
Description
This PR removes support for the deprecated waffle flags:
courseware.enable_navigation_sidebarcourseware.always_open_auxiliary_sidebarThese flags have been replaced by PluginSlots introduced in PR #1543, available starting from the Teak release.
The default behavior is now:
All customization should now be handled via the Frontend Plugin Framework using
PluginSlot.This change simplifies the sidebar logic and reduces technical debt.
Testing Instructions
PluginSlotstill function correctly.Changelog
courseware.enable_navigation_sidebar,courseware.always_open_auxiliary_sidebar.