From f8a048ef4abd2c23e99f2785a0b5ad35d584e9e6 Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Tue, 10 Sep 2024 21:54:33 +0100 Subject: [PATCH] feat: Add use_identity_overrides_in_local_eval setting (#4612) --- .../pages/EnvironmentSettingsPage.js | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/frontend/web/components/pages/EnvironmentSettingsPage.js b/frontend/web/components/pages/EnvironmentSettingsPage.js index 5275b4cf9d38..94906abb271b 100644 --- a/frontend/web/components/pages/EnvironmentSettingsPage.js +++ b/frontend/web/components/pages/EnvironmentSettingsPage.js @@ -168,6 +168,7 @@ const EnvironmentSettingsPage = class extends Component { allow_client_traits: !!this.state.allow_client_traits, banner_colour: this.state.banner_colour, banner_text: this.state.banner_text, + use_identity_overrides_in_local_eval: this.state.use_identity_overrides_in_local_eval, description: description || env.description, hide_disabled_flags: this.state.hide_disabled_flags, hide_sensitive_data: !!this.state.hide_sensitive_data, @@ -257,6 +258,7 @@ const EnvironmentSettingsPage = class extends Component { props: { webhooks, webhooksLoading }, state: { allow_client_traits, + use_identity_overrides_in_local_eval, hide_sensitive_data, name, use_identity_composite_key_for_hashing, @@ -288,6 +290,7 @@ const EnvironmentSettingsPage = class extends Component { ) { setTimeout(() => { this.setState({ + use_identity_overrides_in_local_eval: !!env.use_identity_overrides_in_local_eval, allow_client_traits: !!env.allow_client_traits, banner_colour: env.banner_colour || Constants.tagColors[0], banner_text: env.banner_text, @@ -690,18 +693,18 @@ const EnvironmentSettingsPage = class extends Component {
{ - this.setState( - { - use_identity_composite_key_for_hashing: v, - }, - this.saveEnv, - ) - }} - title={`Use Consistent Hashing`} - description={ -
+ checked={use_identity_composite_key_for_hashing} + onChange={(v) => { + this.setState( + { + use_identity_composite_key_for_hashing: v, + }, + this.saveEnv, + ); + }} + title={`Use consistent hashing`} + description={ +
Enabling this setting will ensure that multivariate and percentage split evaluations made by the API are consistent @@ -720,6 +723,21 @@ const EnvironmentSettingsPage = class extends Component { } />
+ {Utils.getFlagsmithHasFeature("use_identity_overrides_in_local_eval") && ( +
+ { + this.setState( + { use_identity_overrides_in_local_eval: v }, + this.saveEnv, + ); + }} + /> +
+ )}