Flagsmith / Flagsmith/flagsmith
UI: "View / Edit as JSON" mode for rapid visibility of complex Features and Segments
- Dominant language
- Python
- Stars
- 6.6k
- Forks
- 567
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 121
Description
### Is your feature request related to a problem?
When a feature has multiple Segment Overrides (e.g., targeting by Client Type like Android/iOS, Internal Users, or specific User IDs), understanding the full evaluation logic from the dashboard is very tedious.
Currently, our developers have to manually scroll and open each Segment Override one by one just to see its conditions and values. There is no way to get a single, holistic view of the feature's entire state. When you are trying to quickly debug why a specific user_id is getting a certain value, digging through UI accordions is slow and frustrating.
### Describe the solution you'd like.
We would love a "UI View / JSON View" toggle directly on the feature detail page.
Switching to "JSON View" would replace the standard UI forms with a syntax-highlighted code editor displaying the feature and all of its segments in a single, readable JSON payload. Ideally, this JSON view would also be directly editable, allowing developers to make quick tweaks (like updating a list of User IDs) and hitting "Save" without touching the visual UI.
**Example of the desired JSON representation**:
```
{
"feature": {
"name": "new_checkout_flow",
"description": "Revamped checkout experience",
"default_enabled": false,
"default_value": "standard"
},
"segment_overrides": [
{
"segment_name": "internal_qa_team",
"conditions": [
{ "property": "user_id", "operator": "IN", "value": "1001, 1002, 1055" }
],
"override_enabled": true,
"override_value": "debug_checkout"
},
{
"segment_name": "mobile_beta_users",
"conditions": [
{ "property": "client_type", "operator": "EQUALS", "value": "Android" },
{ "property": "app_version", "operator": "GREATER_THAN", "value": "2.1.0" }
],
"override_enabled": true,
"override_value": "v2_mobile_checkout"
}
]
}
```
### Describe alternatives you've considered
* Clicking through the UI: The current method. It is incredibly time-consuming to open 5+ segment overrides just to audit the current targeting logic.
* Using Terraform/API to read state: As mentioned in other feedback, we use Terraform. However, forcing developers to pull down state via CLI or write API queries just to quickly read how a feature is configured completely defeats the purpose of having a fast, accessible Flagsmith Dashboard. We want the agility of the UI, but with the readability of code.
### Additional context
Giving developers a raw JSON view drastically reduces cognitive load. It allows them to use standard browser search (Ctrl+F / Cmd+F) to instantly find if a specific rule or ID exists within a massive feature configuration, saving a significant amount of time during debugging and incident response.
Contributor guide
Assessment
This issue has not been assessed yet.