openedx / openedx/frontend-app-authoring
Switch from Redux to React Query + Context
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 218
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 20
Description
Parts of the redux state to migrate
-
courseDetail- https://github.com/openedx/frontend-app-authoring/pull/2724 -
customPages- https://github.com/openedx/frontend-app-authoring/pull/3124 -
discussions -
assets -
pagesAndResources- https://github.com/openedx/frontend-app-authoring/pull/3222 -
scheduleAndDetails- https://github.com/openedx/frontend-app-authoring/pull/3093 -
advancedSettings- https://github.com/openedx/frontend-app-authoring/pull/2893 -
studioHome(needs refactor)-
One thing I'd like to get rid of entirely is the weird "Studio Home" state which has become a kitchen sink of data (course list, library list, user permissions, feature flags, branding/theming). I think the idea was to improve loading times by loading all the data needed to render the studio home page from a single API, but it's just messy now. And today a few small parallel requests that are definitely needed are better than one big request that ends up loading unused data. So that should be broken up into smaller things (course list query, library list query, users permissions query, etc.) and more specific contexts.
-
-
models-
courseApps- https://github.com/openedx/frontend-app-authoring/pull/3222 -
liveApps -
liveAppConfigs -
XpertSettings- https://github.com/openedx/frontend-app-authoring/pull/3222 -
courseDetails- https://github.com/openedx/frontend-app-authoring/pull/2724 -
sequences -
assets -
videos -
discussionTopics
-
-
live -
courseTeam- https://github.com/openedx/frontend-app-authoring/pull/2888 -
courseUpdates- https://github.com/openedx/frontend-app-authoring/pull/3185 -
processingNotification- https://github.com/openedx/frontend-app-authoring/pull/2917 -
helpUrls- https://github.com/openedx/frontend-app-authoring/pull/2714 -
courseExport- https://github.com/openedx/frontend-app-authoring/pull/2908 -
courseOptimizer- By @navinkarkera -
generic -
courseImport- https://github.com/openedx/frontend-app-authoring/pull/2902 -
videos- By @navinkarkera -
courseOutline -
courseUnit -
courseChecklist- https://github.com/openedx/frontend-app-authoring/pull/2870 -
accessibilityPage- https://github.com/openedx/frontend-app-authoring/pull/2760 -
certificates- https://github.com/openedx/frontend-app-authoring/pull/3117 -
groupConfigurations- https://github.com/openedx/frontend-app-authoring/pull/2980 -
textbooks- https://github.com/openedx/frontend-app-authoring/pull/3047 - editor state is in a separate ticket: https://github.com/openedx/frontend-app-authoring/issues/2088
Other tasks:
- Queue of messages in the
ToastContext: https://github.com/openedx/frontend-app-authoring/pull/2917#discussion_r2866830912 - Remove redux and related packages from this repo's dependencies.
- Consider installing
@tanstack/react-query-devtools?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing src/store.ts, the unchecked state areas listed in the issue, and studio-home/data/slice.ts. Compare the referenced migration pull requests to understand the existing React Query and Context approach. Done means the remaining Redux state is migrated, Redux-related packages are removed, and the listed follow-up tasks are addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100