Flagsmith / Flagsmith/flagsmith
Reducer side effects trigger Redux errors #3 and #9 on the features page
- Dominant language
- Python
- Stars
- 6.6k
- Forks
- 567
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 121
Description
**Sentry:** [FLAGSMITH-FRONTEND-58P](https://flagsmith.sentry.io/issues/7649064048/) (also
[58Q](https://flagsmith.sentry.io/issues/7649064084/) and
[58R](https://flagsmith.sentry.io/issues/7649064106/) — same root cause)
Three Sentry issues, one underlying bug: **a reducer performing side effects.**
| Sentry | Redux code | Meaning |
|---|---|---|
| 58P | #3 | "You may not call `store.getState()` while the reducer is executing." |
| 58Q | #3 | same |
| 58R | #9 | "Reducers may not dispatch actions." |
### Impact
1 event each, 1 user. All three fired 2026-08-03T07:23Z — same session, same
release `1785435093938`, Firefox 152, production.
URL: https://app.flagsmith.com/project/12461/environment/DVMZZNZ6SVofMfkffi8rn5/features
### Why grouped
Calling `getState()` inside a reducer (#3) and dispatching from inside a reducer
(#9) are the same class of defect: a reducer that isn't a pure function of
`(state, action)`. All three landed in the same minute on the same page, so
they're near-certainly one code path.
### Note on stack traces
There are **no in-app frames** — all frames sit inside
`./node_modules/redux/dist/redux.mjs`, because Redux throws from its own
internals once the invariant is broken. Reproducing on the features page with a
non-minified dev build will name the offending reducer (the dev build gives the
full message instead of a minified error code).
### Caveat
Only 58P carries the Sentry↔GitHub link for this issue. 58Q and 58R are
triaged but not individually linked; consider `sentry issue merge` if you want
them consolidated in Sentry.
---
[Slack alert](https://flagsmith.slack.com/archives/C05GSDTULDB/p1785741851554429) · filed by the `sentry-triage` skill
Contributor guide
Research direction
Reproduce the issue on the features page using a non-minified development build; Redux reports the failures from node_modules/redux/dist/redux.mjs but the offending application reducer is not named. Trace the full development stack to identify the reducer and verify that the page no longer produces Redux errors #3 or #9.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, redux
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100