Skip to content

Conversation

@Anas12091101
Copy link
Contributor

@Anas12091101 Anas12091101 commented Sep 29, 2025

Supporting tickets

Proposal: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/5150769174/Proposal+Add+option+to+show+overall+assessment+results+after+due+date+but+hide+individual+assessment+results
openedx/platform-roadmap#460

Internal ticket: https://github.com/mitodl/hq/issues/3859

Description

This PR 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.

Additionally, 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.

edx-platfom and authoring MFE changes are required to test this PR.
edx-platform PR: openedx/edx-platform#37399
authoring MFE PR: openedx/frontend-app-authoring#2489

Screenshots

Screenshot 2025-09-29 at 10 05 05 PM Screenshot 2025-09-29 at 10 09 03 PM

Testing Instructions

  1. Verify that changes don't break the logic of the progress page.

  2. Use this course tarball for testing: course._4j9qu3f.tar.gz

  3. Verify that with the new visibility option:

    • Grades are included in the final course score after the due date passes.
    • Grades are not displayed in the Grade Summary table or Detailed Grades table.
  4. Confirm that subsections with the new visibility option are not listed in the Detailed Grades table.

  5. In the Grade Summary table, check two cases:

    • Mixed visibility: If some grades of an assignment type are hidden and some are visible, the visible grades appear with a “+ hidden grades” label (e.g., Lab exam in the screenshot).
    • Fully hidden: If all grades of an assignment type are hidden, a Lock icon is displayed (e.g., Final exam in the screenshot).
  • For assignments where grades are held until after the due date, verify that a warning banner is displayed. The banner should indicate the latest due date when all grades will be released.
Screenshot 2025-09-29 at 10 20 27 PM

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Sep 29, 2025
@openedx-webhooks
Copy link

openedx-webhooks commented Sep 29, 2025

Thanks for the pull request, @Anas12091101!

This repository is currently maintained by @openedx/committers-frontend-app-learning.

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 approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.
🔘 Provide context

To 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:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads
🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

Details
Where 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:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@codecov
Copy link

codecov bot commented Sep 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.82%. Comparing base (47b9a43) to head (ba63dec).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1797      +/-   ##
==========================================
- Coverage   90.83%   90.82%   -0.02%     
==========================================
  Files         344      344              
  Lines        5794     5785       -9     
  Branches     1374     1378       +4     
==========================================
- Hits         5263     5254       -9     
+ Misses        514      512       -2     
- Partials       17       19       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Anas12091101 Anas12091101 marked this pull request as draft September 29, 2025 17:59
@Anas12091101 Anas12091101 force-pushed the anas/add-new-grade-visisbility-option branch from 819f1af to d99c306 Compare September 29, 2025 18:06
@Anas12091101 Anas12091101 changed the title feat: add new subsection visibility option to not show score but include grade in final calculation in the progress page feat: add subsection visibility option to hide scores but include in final grade Sep 29, 2025
@Anas12091101 Anas12091101 marked this pull request as ready for review September 30, 2025 07:44
@Anas12091101 Anas12091101 moved this from Needs Triage to Ready for Review in Contributions Sep 30, 2025
@itsjeyd
Copy link

itsjeyd commented Sep 30, 2025

@Anas12091101 Thank you for this contribution! Since it includes user-facing changes, you'll have to get approval on the product proposal before engineering review can start.

I'll tag the team of product managers for you here.

@openedx/openedx-product-managers Could you please have a look at this PR and the corresponding product proposal, and guide @Anas12091101 on next steps?

This work might qualify as a fast-track change but I'm not completely sure. So if you could check what the right product review track would be as a first step, that would be great.

--

CC @mphilbrick211 for openedx/edx-platform#37399 and openedx/frontend-app-authoring#2489

@itsjeyd itsjeyd added the product review PR requires product review before merging label Sep 30, 2025
@itsjeyd itsjeyd moved this from Ready for Review to Product Review in Contributions Sep 30, 2025
@sarina
Copy link
Contributor

sarina commented Sep 30, 2025

@sarina
Copy link
Contributor

sarina commented Sep 30, 2025

@pdpinch remind me, did you create a Product Roadmap ticket for this? I think @itsjeyd is looking for the actual GitHub product roadmap ticket, not just the product proposal.

@sarina
Copy link
Contributor

sarina commented Sep 30, 2025

Found it. @itsjeyd openedx/platform-roadmap#460

@sarina sarina removed the product review PR requires product review before merging label Sep 30, 2025
@sarina sarina moved this from Product Review to Ready for Review in Contributions Sep 30, 2025
@pdpinch
Copy link

pdpinch commented Oct 2, 2025

@Anas12091101 can you add some screenshots for the lower part of the progress page? We'd like to see how a hidden grade is handled there versus a non-hidden one. Along with that, it would be helpful to have more explanation of how the timing is handled differently between the old "never show assessment results" and this new "... but show overall assessment results after due date"

@Anas12091101 Anas12091101 force-pushed the anas/add-new-grade-visisbility-option branch from b37a834 to c183e89 Compare October 7, 2025 10:30
Copy link
Contributor

@asadali145 asadali145 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good—just a minor enhancement and a few message updates.

courseGradeFooterDueDateNotice: {
id: 'progress.courseGrade.footer.dueDateNotice',
defaultMessage: 'Some assignment scores are not yet included in your total grade. These grades will be released by {dueDate}.',
description: 'This shown when there are pending assignments with due date in the future',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: 'This shown when there are pending assignments with due date in the future',
description: 'This is shown when there are pending assignments with a due date in the future',

hiddenScoreLockInfoText: {
id: 'progress.hiddenScoreLockInfoText',
defaultMessage: 'Shown when scores for an assignment type are hidden yet still counted toward the course grade.',
description: 'Information text about hidden score label when learner have limited access to grades feature',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: 'Information text about hidden score label when learner have limited access to grades feature',
description: 'Information text about hidden score label when learners have limited access to grades feature',

},
hiddenScoreLockInfoText: {
id: 'progress.hiddenScoreLockInfoText',
defaultMessage: 'Shown when scores for an assignment type are hidden yet still counted toward the course grade.',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
defaultMessage: 'Shown when scores for an assignment type are hidden yet still counted toward the course grade.',
defaultMessage: 'Scores for an assignment type are hidden but still counted toward the course grade.',

}, []);

// Returns True if this subsection is "hidden"
const isSubsectionHidden = (sub) => sub.showGrades && sub.showCorrectness === 'never_but_include_grade';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ShowGrades is false when due date is not passed. It results in 0% instead of a lock icon.

@itsjeyd itsjeyd added waiting on author PR author needs to resolve review requests, answer questions, fix tests, etc. product review complete PR has gone through product review labels Oct 8, 2025
@itsjeyd itsjeyd moved this from Ready for Review to In Eng Review in Contributions Oct 8, 2025
@Anas12091101
Copy link
Contributor Author

Anas12091101 commented Oct 8, 2025

@Anas12091101 can you add some screenshots for the lower part of the progress page? We'd like to see how a hidden grade is handled there versus a non-hidden one.

@pdpinch, In the Detailed Grades section on the MFE progress page, we’re only displaying grades for those subsections whose scores are visible.

In my test course, there are two sections, each with five subsections, configured with different visibility settings:

  • Section 1 includes subsections with “Never,” “Never but include in grade,” two “Always,” and “Always but past due” visibility.
  • Section 2 includes three “Never but include in grade” subsections and two “Always” subsections.

The learner will only see the visible subsection scores in the table, as shown in the screenshot below.

Screenshot 2025-10-08 at 3 55 26 PM

Along with that, it would be helpful to have more explanation of how the timing is handled differently between the old "never show assessment results" and this new "... but show overall assessment results after due date"

In the "Never show assessment results" option, the due date is not considered because those grades are excluded from the final results. In contrast, with the new option, the scores remain hidden from learners but are included in the final grades once the due date has passed.

@Anas12091101 Anas12091101 added waiting for eng review PR is ready for review. Review and merge it, or suggest changes. and removed waiting on author PR author needs to resolve review requests, answer questions, fix tests, etc. labels Oct 8, 2025
Copy link
Contributor

@arbrandes arbrandes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code itself seems generally fine, but as noted in the inline comment, I'm trying to understand whether the premise is being addressed properly.

Comment on lines 21 to 37
// Scores for visible grades (exclude never_but_include_grade)
const visibleScores = points.filter(
(_, idx) => visibilities[idx] !== 'never_but_include_grade',
);

// Average all scores (for totalWeightedGrade)
const overallAverage = parseFloat(
(points.reduce((a, b) => a + b, 0) / points.length).toFixed(4),
);
totalWeightedGrade = overallAverage * assignmentWeight;
if (visibleScores.length) {
const visibleAverage = parseFloat(
(visibleScores.reduce((a, b) => a + b, 0) / points.length).toFixed(4),
);
averageGrade = visibleAverage;
weightedGrade = averageGrade * assignmentWeight;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First: I'm always leery of manipulating critical data (such as a learner's grade) in the frontend. This here seems like a pretty heavy lift. And while I'm not an expert on how grading works in the backend, I expect this is duplicating backend logic. Yes, I realize that this kind of calculation is already being done in this very file - which is unfortunate - but this is not all.

If I understand correctly from the proposal, the point of hiding scores is to prevent answer sharing. However - correct me if I'm wrong - I deduce from this that the individual scores are actually being sent to the client, so that a crafty user could in fact find out the correspondence between all answers and scores.

If the whole premise is to prevent cheating, shouldn't we avoid passing all the individual grades to the frontend in the first place?

CC @pdpinch

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, yes, you are correct @arbrandes. We should be hiding these grades in the API.

@Anas12091101 Anas12091101 added waiting for eng review PR is ready for review. Review and merge it, or suggest changes. and removed waiting on author PR author needs to resolve review requests, answer questions, fix tests, etc. labels Oct 16, 2025
@Anas12091101 Anas12091101 changed the title feat: add subsection visibility option to hide scores but include in final grade refactor: shift grade summary calculation to backend and display "hidden grades" label in the grade table Oct 16, 2025
@Anas12091101
Copy link
Contributor Author

@arbrandes, I have shifted the grades calculation logic to the backend in openedx/edx-platform#37399 and adjusted this PR accordingly. This PR is ready for another look.

Copy link
Contributor

@asadali145 asadali145 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM in testing!

ormsbee pushed a commit to openedx/edx-platform that referenced this pull request Oct 22, 2025
…ade (#37399)

This commit migrates the data calculation logic for the GradeSummary
table, which was previously in the frontend-app-learning.

This commit also introduces a new visibility option for assignment
scores: “Never show individual assessment results, but show overall
assessment results after the due date.”

With this option, learners cannot see question-level correctness or
scores at any time. However, once the due date has passed, they can
view their overall score in the total grades section on the Progress
page.

These two changes are coupled with each other because it compromises
the integrity of this data to do the score hiding logic on the front
end.

The corresponding frontend PR is: openedx/frontend-app-learning#1797
@Anas12091101
Copy link
Contributor Author

@arbrandes, the grades calculation PR in edx-platform (openedx/edx-platform#37399) has been merged. This one is ready for review as well.

@arbrandes
Copy link
Contributor

I'm trying to test this but am seeing some weird behavior with scores and visibility (A "show after due" problem showing the answer before the due date, a grade not being calculated correctly, etc). Before I confirm this is a bug I'm going to reset my environment tomorrow and test from scratch.

@arbrandes
Copy link
Contributor

arbrandes commented Oct 23, 2025

Ok, I ran into two issues, all of which you can see in the recording of today's Frontend Working Group meeting starting at 23:17.

  1. If you set a section to "Show assessment results when subsection is past due", the results are actually shown before the due date. I'm sure this is not caused by this PR, but it may be a side effect of feat: migrate progress page data calculation logic from learning MFE and add 'never_but_include_grade' grade visibility option edx-platform#37399. Do you mind confirming that this also happens on your end?

  2. When setting "Never show individual assessment results, but show overall assessment results after due date" on a subsection, if I manually alter the due dates of the assignments to one day in the past and then check progress, the assignment scores are not counted towards my total grade. The release date on the new warning ("Some assignment scores are not yet included in your total grade. These grades will be released by...") still reflects the original date in the future. Is this the intended behavior? If so, how should I test this feature? Do I have to wait for the time to actually elapse?

This is all on Tutor main with edx-platform@master updated to the latest code as of this morning, and a checkout of this PR and the corresponding one on frontend-app-authoring. I created course.skzk4g2n.tar.gz from scratch. And this is a screenshot of my progress after getting all the answers right and setting the corresponding due dates in the past:

image

@Anas12091101
Copy link
Contributor Author

@arbrandes, regarding the first issue: you are currently viewing the problem in staff mode, which is why the grade appears despite the due date. The relevant code responsible for displaying the correctness of a problem can be found here: graders.py Line 491.

For the second issue, I believe that edX is not updating the due date in the LMS after changes are made in the CMS. I replicated this behavior on my local setup as well. After multiple updates to the due date, it eventually reflected correctly, and the progress page was updated accordingly. Could you please verify if this is the same issue you're encountering?

Copy link
Contributor

@arbrandes arbrandes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, even though there might be an issue with resetting the due date of assignments after publishing, that would be a separate issue. This PR is good. Let's get it in!

@arbrandes arbrandes merged commit 52692dc into openedx:master Oct 24, 2025
7 checks passed
@github-project-automation github-project-automation bot moved this from In Eng Review to Done in Contributions Oct 24, 2025
@openedx-webhooks openedx-webhooks removed the waiting for eng review PR is ready for review. Review and merge it, or suggest changes. label Oct 24, 2025
@Anas12091101
Copy link
Contributor Author

Thanks @arbrandes. Could you please also merge the authoring MFE PR? openedx/frontend-app-authoring#2489

haftamuk pushed a commit to haftamuk/edx-platform that referenced this pull request Nov 3, 2025
…ade (openedx#37399)

This commit migrates the data calculation logic for the GradeSummary
table, which was previously in the frontend-app-learning.

This commit also introduces a new visibility option for assignment
scores: “Never show individual assessment results, but show overall
assessment results after the due date.”

With this option, learners cannot see question-level correctness or
scores at any time. However, once the due date has passed, they can
view their overall score in the total grades section on the Progress
page.

These two changes are coupled with each other because it compromises
the integrity of this data to do the score hiding logic on the front
end.

The corresponding frontend PR is: openedx/frontend-app-learning#1797
@nsprenkle
Copy link
Contributor

Hey @Anas12091101 👋 If I can provide some feedback: the way this was implemented caused issues for us recently and I think there were ways it could have been avoided.

In particular, assuming that new data will be present in the backend while also removing the original implementation means that frontend-app-learning will now fail (and other operators / developers cannot author compatible changes) if edx-platform has not been previously deployed with the related changes ahead of time.

My suggestion, instead of assuming the new data absolutely will be present, this could be made more widely compatible by:

  1. Checking the data returned by the API and seeing if the new data is present.
  2. If the new data is present, great! It can be used and the costly frontend calculation of that data can be conditionally ignored.
  3. If the new data is not present, gracefully fall back to the original way of calculating this data.

Still, I appreciate the work and I think this is a move in the right direction, but more care could be put into developing the change to be backward-compatible, at least for the time.

nsprenkle pushed a commit to edx/frontend-app-learning that referenced this pull request Dec 23, 2025
…den 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.
nsprenkle pushed a commit to edx/frontend-app-learning that referenced this pull request Dec 23, 2025
…den 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.
nsprenkle added a commit to edx/frontend-app-learning that referenced this pull request Dec 23, 2025
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]>
nsprenkle pushed a commit to edx/edx-platform that referenced this pull request Dec 23, 2025
…ade (openedx#37399)

This commit migrates the data calculation logic for the GradeSummary
table, which was previously in the frontend-app-learning.

This commit also introduces a new visibility option for assignment
scores: “Never show individual assessment results, but show overall
assessment results after the due date.”

With this option, learners cannot see question-level correctness or
scores at any time. However, once the due date has passed, they can
view their overall score in the total grades section on the Progress
page.

These two changes are coupled with each other because it compromises
the integrity of this data to do the score hiding logic on the front
end.

The corresponding frontend PR is: openedx/frontend-app-learning#1797
nsprenkle pushed a commit to edx/frontend-app-learning that referenced this pull request Jan 5, 2026
…den 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.
nsprenkle pushed a commit to edx/frontend-app-learning that referenced this pull request Jan 5, 2026
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.
nsprenkle added a commit to edx/edx-platform that referenced this pull request Jan 6, 2026
This commit migrates the data calculation logic for the GradeSummary
table, which was previously in the frontend-app-learning.

This commit also introduces a new visibility option for assignment
scores: “Never show individual assessment results, but show overall
assessment results after the due date.”

With this option, learners cannot see question-level correctness or
scores at any time. However, once the due date has passed, they can
view their overall score in the total grades section on the Progress
page.

These two changes are coupled with each other because it compromises
the integrity of this data to do the score hiding logic on the front
end.

The corresponding frontend PR is: openedx/frontend-app-learning#1797

Co-authored-by: Muhammad Anas <[email protected]>
nsprenkle added a commit to edx/frontend-app-learning that referenced this pull request Jan 7, 2026
* refactor: shift grade summary calculation to backend (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.

* chore: update snapshots

---------

Co-authored-by: Muhammad Anas <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

open-source-contribution PR author is not from Axim or 2U product review complete PR has gone through product review

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

8 participants