openedx / openedx/frontend-app-learning

Reduce the Redux store to the external specialExams reducer

Open
#1,978 0 comments 0 reactions 1 assignee View on GitHub

@brian-smith-tcril is already working on this.

Since Aug 5, 2026.

Dominant language
JavaScript
Stars
70
Forks
335
Avg merge
1d 17h
Merged PRs (30d)
35

Description

Part of #1946 — Redux → React Query migration (Stage 1). Partial teardown.

Goal: shrink the Redux store to the last external dependency — specialExams.

Tasks

  • Reduce store.ts to only specialExams (external, from @edx/frontend-lib-special-exams). All local reducers leave first, including the plugins slice (#2017 — its de-Redux is Stage-1, not a Stage-2 concern).
  • This specialExams-only endpoint needs no external dependency — it depends only on learning's own remaining conversions (tabs, courseware, model-store #1977, plugins #2017).
  • Final dep removal is separate and library-gated: dropping react-redux / redux / @reduxjs/toolkit, deleting store.ts, and removing AppProvider store= requires the special-exams components to no longer need a host-supplied react-redux Provider + store. The approach for that (self-contained library store vs. React Query conversion) is being investigated in #2018; a concrete frontend-lib-special-exams change is filed only if/when that investigation says so.

Verify: store.ts registers only specialExams; git grep react-redux in learning's own source returns only special-exams-adjacent files; exams still function (timer, gating, access token).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.