-
Notifications
You must be signed in to change notification settings - Fork 336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor featureFlags proposal #10099
Comments
Why have userId and teamId if the interface only allows querying for orgId? |
I was thinking we'd have a
Yeah, would you prefer it to be a string? My concern is that it'd be easy to make a typo |
I think we need to run a migration in any case, so we could add a check on a string rather than a full blown enum type. But maybe there are cleaner ways? |
|
A Updated ProposalCreate a
Create a FeatureFlagOwner crosstable:
We could just have an In the server:
In the In the client:
|
Hey @mattkrick, it'd be great to get your thoughts on this! I can then implement it for insights |
Hey @mattkrick, bumping this one 🙏 |
thanks for the ping! On the crosstable, i like the thought of keeping the FKs separate. It's explicit and doesn't require GUIDs. On the other hand, we have GUIDs, it'll require 3 indexes. I think your solution is a good one! One note-- the query will be a little expensive, so make sure to run the explain on it to make sure you're using all the indexes you can. For example, on TeamMember you'll have to include |
@nickoferrall can this one be closed now? |
Yep! closing it now |
Problems
Today, featureFlags are an array of enums in both the organization and user tables. Soon, we may want to add a team feature flag too, e.g. Team Insights.
Some flags exist in both tables, e.g.
noAISummary
.Feature flags stay in the app until we decide to remove them.
zoomTranscription
andstandupAISummary
, for example, have been in the app for over a year. This leads to our experience using the Parabol org to be quite different to the experience of all other users.Proposal
Create a
featureFlag
table with the following properties:Devs are encouraged to set an expiration date for the feature flag to force us to make a decision on a feature, but it's an optional field, so we don't have to include it if we're not sure.
In the server, we can check if the feature flag exists like so:
And in the client:
Let me know what you think!
The text was updated successfully, but these errors were encountered: