Skip to content
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

Allow to evaluate specific flags #292

Open
n9niwas opened this issue Oct 3, 2023 · 2 comments
Open

Allow to evaluate specific flags #292

n9niwas opened this issue Oct 3, 2023 · 2 comments

Comments

@n9niwas
Copy link

n9niwas commented Oct 3, 2023

Is your feature request related to a problem? Please describe.
Currently when client is initialized, it evaluates all flags in the environment.
We have hundreds of flags, but only use handful of them at a time, on different lazy-loaded pages.
This is causing several issues:

  1. you can't tell when a particular flag was really requested, all of them are evaluated "minutes ago" (basically whenever someone visits the site)
  2. flags are immediately visible in production whenever a new flag is created in lower environment, which increases the risk of unexpected feature toggling
  3. experiments attached to these flags receive traffic

Describe the solution you'd like
We would like to see an option in JS SDK to evaluate specific flags.
One way to achieve it is to disable evaluation of all flags in client initialize() method and add an async function to request a specific flag key (or array of keys) later on.

Describe alternatives you've considered
We could probably define a different context for each lazy-loaded part of application, but maintaining this gets hard as application(s) scale up.
Another solution is to hide flags behind a custom REST API, but that makes client JS SDK pointless.

Additional context
This is not a problem for backend/mobile apps as we could request specific flags there.

@louis-launchdarkly
Copy link
Contributor

Hello @n9niwas, have you tried using the sendEventsOnlyForVariation option when configuring the SDK? This will stop the SDK when the allFlags method is called. To make sure events show up for the individual evaluation, please use the variation method to get flag values.

@n9niwas
Copy link
Author

n9niwas commented Oct 4, 2023

oh, thanks @louis-launchdarkly
I saw this option but "analytics" events threw me off
Now when I'm going through the docs page for analytics events, seeing Flag statuses listed in the list of features that rely on analytics events and it started to make sense
Might be worth adding links to these pages or providing a summary on the effects of enabling sendEventsOnlyForVariation, idk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants