Disable target learning from flag evaluations
under review
A
Above Vicuna
Today, targets defined in UI with a set of attributes gets overwritten by client side evaluations(go sdk).
This will impact the target search in the UI.
Our usecase is: We would like to create/maintain target definitions through UI only. Any kind of target updates from client side evaluations should be disabled.
Log In
Matt Schillerstrom (PM for Feature Flags)
under review
Canny AI
Merged in a post:
Different target attributes with same target identifier
A
Amber Quail
We want to treat each user in our system as a target. We evaluate feature flags in FE, mobile app, backend and target attributes that can be sent from different places in code are different. Web & mobile apps may want to include OS, browser, platform etc as attributes. These may not be available in the backend in all use cases and in certain cases we only have the user ID available.
The problem with harness is that if I connect using the same target ID from multiple places, what ever are the attributes sent in the last auth attempt override the state on server. Suppose mobile had connected first, it would have sent
platform
as android
or isAndroid
as yes
. Web which connects after would send platform
as web
or isWeb
as yes
. Now if both used the same target identifier any evaluation API calls mobile app harness sdk trigger could incorrectly evaluate the flag values. Due to this we are forced to append
-web
, -android
, -be
etc suffixes to the target identifier. By doing so, I cannot do percentage rollouts because they are based on target identifier which is now different across web, mobile & backend for the same user.Can we for a given harness client SDK session, lock the attributes used for flag evaluation to what were sent during the authentication call ?
T
Thistle Whippet
next fiscal quarter
A
Amber Quail
In context of merged post/requirement - Different target attributes with same target identifier, this is already supported by the JS client SDK via
harness-target
header which is a base64 version of target definition (see https://support.harness.io/hc/en-us/requests/69041?page=1). While the header is supported in JS client SDK, its not sent in other client SDKs (android, ios etc ones) but the change should be a simple fix to do as all that needs to be added is a header