This is a follow-up to the descriptions_source callback added in #461.
Problem
Today, features can be created dynamically through the Flipper UI β no code change needed. But descriptions can only be provided through a descriptions_source lambda configured in code. This creates a mismatch: the person creating a feature
in the UI can't describe what it does in the same workflow. They have to go update a config file, YAML, or database table separately.
As @jnunemaker noted in #461:
I'd rather have native storage of other attributes like description
Proposal
Add a description text column to flipper_features and expose it as an editable field in the UI on both the feature creation form and the feature detail page.
For backward compatibility with descriptions_source, the resolution would be:
- Load native descriptions from the
description column
- Merge
descriptions_source results on top β callback values take precedence when present
This means:
- New users get descriptions out of the box via the UI with zero configuration
- Existing
descriptions_source users see no behavior change β their callback still wins
- Both can be used together β native descriptions as defaults, callback overriding specific ones
Scope
- Migration adding
description (text, nullable) to flipper_features
- Update the Feature create/edit UI actions to accept and persist description
- Update the feature detail and features list views to display the native description
- Merge logic: native descriptions as the base layer,
descriptions_source on top
show_feature_description_in_list continues to control list page visibility
Happy to submit a PR if this direction sounds right.
This is a follow-up to the
descriptions_sourcecallback added in #461.Problem
Today, features can be created dynamically through the Flipper UI β no code change needed. But descriptions can only be provided through a
descriptions_sourcelambda configured in code. This creates a mismatch: the person creating a featurein the UI can't describe what it does in the same workflow. They have to go update a config file, YAML, or database table separately.
As @jnunemaker noted in #461:
Proposal
Add a
descriptiontext column toflipper_featuresand expose it as an editable field in the UI on both the feature creation form and the feature detail page.For backward compatibility with
descriptions_source, the resolution would be:descriptioncolumndescriptions_sourceresults on top β callback values take precedence when presentThis means:
descriptions_sourceusers see no behavior change β their callback still winsScope
description(text, nullable) toflipper_featuresdescriptions_sourceon topshow_feature_description_in_listcontinues to control list page visibilityHappy to submit a PR if this direction sounds right.