source-academy / frontend

Frontend of Source Academy, an online experiential environment for computational thinking (React, Redux, Saga, Blueprint)
https://sourceacademy.org
Apache License 2.0
101 stars 164 forks source link

Migrate to Redux Toolkit part 9 #2989

Closed RichDom2185 closed 1 month ago

RichDom2185 commented 1 month ago

Description

To rebase and merge onto master once #2988 is merged.

Mainly a PR to clean up things, but also migrated to RTK for Sourcecast and Sourcereel reducers.

Removes the compatibility layer of having named exports for every action creator. This forces callers to use the default export (and also fully qualified names) of the actions they want to dispatch. Hopefully, this will reduce the chances of any name conflicts, and also enforce better abstractions and grouping of the individual actions. Currently, I feel that some action creators don't belong in the correct file. By forcing the usage of the fully qualified name (especially as the number of actions keeps increasing), people might think twice before putting an action creator inside a specific file.

Technically a breaking change.

Type of change

How to test

I just changed the imports, without any implementation change (except for the migration of GitHubPersistenceSaga to use the new helper) – so it should be a non-issue.

Checklist

coveralls commented 1 month ago

Pull Request Test Coverage Report for Build 8971775169

Details


Changes Missing Coverage Covered Lines Changed/Added Lines %
src/commons/application/Application.tsx 0 1 0.0%
src/commons/application/reducers/CommonsReducer.ts 2 3 66.67%
src/commons/editingWorkspace/EditingWorkspace.tsx 0 1 0.0%
src/commons/notificationBadge/NotificationBadge.tsx 0 1 0.0%
src/commons/profile/Profile.tsx 1 2 50.0%
src/commons/utils/CToWasmHelper.ts 0 1 0.0%
src/commons/utils/SourcerorHelper.ts 0 1 0.0%
src/features/sourceRecorder/sourcecast/SourcecastReducer.ts 17 18 94.44%
src/features/sourceRecorder/sourcereel/SourcereelReducer.ts 19 20 95.0%
src/pages/academy/grading/Grading.tsx 0 1 0.0%
<!-- Total: 59 152 38.82% -->
Files with Coverage Reduction New Missed Lines %
src/pages/sourcecast/Sourcecast.tsx 1 0.0%
src/pages/academy/sourcereel/Sourcereel.tsx 1 0.0%
src/pages/academy/adminPanel/subcomponents/NotificationConfigPanel.tsx 1 0.0%
<!-- Total: 3 -->
Totals Coverage Status
Change from base Build 8971758895: -0.03%
Covered Lines: 5011
Relevant Lines: 14652

💛 - Coveralls
RichDom2185 commented 1 month ago

We can add an issue to track it in the meantime

Done in #2992.