Skip to content
This repository was archived by the owner on Nov 30, 2023. It is now read-only.

Conversation

@AlanyTan
Copy link

@AlanyTan AlanyTan commented Oct 7, 2022

No description provided.

@AlanyTan
Copy link
Author

AlanyTan commented Oct 7, 2022

I updated the Rollout interface to allow optional traits property, and updated resolveState to handle traits.
Quick notes on traits:
session traits are array of strings, each string is considered one trait (similar to the tag concept)
a Rollout variant will only match if all the Rollout.traits are found in the session traits (so Rollout.traits ["a","b"] matches session traits ["a","b","c"], but not session traits ["a"]
If multiple Rollout variants match, most matching traits take precedence;
If still multiple Rollout variants tied, the "value":false once take precedence (allow developers to explicitly ensure certain features are turned off even if other matches would have allow it on)
If still multiple Rollout variants tied, the higher value of the percentage will take precedence

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant