-
-
Notifications
You must be signed in to change notification settings - Fork 725
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
Docs: Client-side feature flag querying behavior update #5244
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
||
When the SDK is initialized in the application, an in memory repository is setup and synchronized against the frontent API using the configured token and context. Note that the frontend API is hosted by either the Unleash Proxy/Edge or the upstream Unleash instance directly. | ||
|
||
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their variants (if applicable) is returned as a single request. Disabled flags are not included. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what you have is great here, this is a very specific detail so feel free to ignore if you think what you already have is clearer
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their variants (if applicable) is returned as a single request. Disabled flags are not included. | |
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their resolved variant (if applicable) is returned as a single request. Disabled flags are not included. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @sighphyre here. I think that makes it clearer (as long as the reader understands what "resolved" means. But I might pluralize the word "variant" as well, turning it into "resolved variants":
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their variants (if applicable) is returned as a single request. Disabled flags are not included. | |
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their resolved variants (if applicable) is returned as a single request. Disabled flags are not included. |
But yeah, that's very nitpicky, and I don't know if my suggestion is better. Just wanted to put it out there 💁🏼
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason I say "variants" rather than "variant" is because the response will only ever return a single variant. You can't use this to check what variants may be available, you just get the calculated single value and never a list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, no, I figured, but you might get several variants spread over different flags. Pluralizing variants does make it slightly ambiguous, maybe, but you could also misread the singular variant as something like "a set of flags can only resolve to a single variant together". Maybe less likely 💁🏼 But I'm honestly happy with either, just wanted to present a suggestion. Either way, I think adding "resolved" is a fantastic shout, so good catch there 👏🏼 👏🏼 👏🏼
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks both! I went with Simon's suggestion since we're already pluralizing the term "flags". An individual flag may only have one resolved variant, so not pluralizing variants may have slightly less potential for misinterpretation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fantastic! Thank you for doing this!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great clarification 🙌🏼
|
||
When the SDK is initialized in the application, an in memory repository is setup and synchronized against the frontent API using the configured token and context. Note that the frontend API is hosted by either the Unleash Proxy/Edge or the upstream Unleash instance directly. | ||
|
||
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their variants (if applicable) is returned as a single request. Disabled flags are not included. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @sighphyre here. I think that makes it clearer (as long as the reader understands what "resolved" means. But I might pluralize the word "variant" as well, turning it into "resolved variants":
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their variants (if applicable) is returned as a single request. Disabled flags are not included. | |
1. All feature flag evaluation is performed by the Proxy/Edge or Unleash instance. A payload of all enabled flags and their resolved variants (if applicable) is returned as a single request. Disabled flags are not included. |
But yeah, that's very nitpicky, and I don't know if my suggestion is better. Just wanted to put it out there 💁🏼
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks both! I went with Simon's suggestion since we're already pluralizing the term "flags". An individual flag may only have one resolved variant, so not pluralizing variants may have slightly less potential for misinterpretation
Added a detailed explanation into how frontend / client-side SDKs behave with regards to fetching multiple feature flags and network connectivity.
Content has been reviewed/approved by engineering rotation team (Simon and Chris).