Flagsmith / Flagsmith/flagsmith
TypeError: Cannot read properties of undefined (reading 'enabled') in CompareFeatures renderRow
- Dominant language
- Python
- Stars
- 6.6k
- Forks
- 567
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 121
Description
**Sentry:** [FLAGSMITH-FRONTEND-58S](https://flagsmith.sentry.io/issues/7653584773/)
`TypeError: Cannot read properties of undefined (reading 'enabled')`
### Where
`web/components/CompareFeatures.js` → `renderRow`, reached via `web/components/PanelSearch.tsx`.
### Impact
1 event, 1 user affected. First and last seen 2026-08-05T08:45Z. Sentry priority: **high**.
Release `1785847145636`, Chrome 151, production.
URL: https://app.flagsmith.com/project/12472/compare
### In-app frames
```
./web/components/PanelSearch.tsx Al
./web/components/PanelSearch.tsx renderContainer
Array.map
./web/components/PanelSearch.tsx
./web/components/CompareFeatures.js .{children#2}.renderRow
```
### Likely cause
A row on the project compare page where one side of the comparison has no
feature state, so `.enabled` is read from `undefined`. `renderRow` probably
needs a guard for features present in one environment but not the other.
---
[Slack alert](https://flagsmith.slack.com/archives/C05GSDTULDB/p1785919577275349) · filed by the `sentry-triage` skill
Contributor guide
Research direction
Start in web/components/CompareFeatures.js at renderRow, then trace how rows are supplied through web/components/PanelSearch.tsx. Reproduce the compare page case where a feature exists in only one environment and inspect the relevant frontend tests or test setup. Done means the compare page renders those rows without reading enabled from an undefined state.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100