Repository navigation
Conversation
Port flagsmith-engine's flag dependency support: segment conditions on `$.flags.<feature>.enabled`, `.value` and `.variant` read the evaluated result of another flag, resolved lazily and transitively. Flags caught in a dependency cycle are served with reason `ERROR; code=CIRCULAR_DEPENDENCY`, and client-supplied `$.flags` are ignored. Flag results now carry the selected multivariate `variant`, and engine-test-data is bumped to v3.11.0, the first release with flag dependency cases. Generated with [Linear](https://linear.app/flagsmith/agent-session/5657b1da-28c2-4081-a075-cae660cc325b) Co-authored-by: linear-code[bot] <222613912+linear-code[bot]@users.noreply.github.com>
|
Why are there no unit tests in this PR? |
…the context Generated with [Linear](https://linear.app/flagsmith/agent-session/5657b1da-28c2-4081-a075-cae660cc325b) Co-authored-by: linear-code[bot] <222613912+linear-code[bot]@users.noreply.github.com>
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
…lag-dependency-in-the-java-server-side-sdk-0bd0 Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Merging this PR will improve performance by 18.62%
Performance Changes
Tip Curious why performance improved? Comment Comparing |
I think we rely on engine test data containing flag dependency test cases, and the new sdk-spec which is added with new flag dependency test cases. |
With local evaluation, the Java SDK can now serve a segment override that depends on another flag, the same way flagsmith-engine does for the Edge API. Until now, a condition such as
$.flags.<feature>.enablednever matched in the Java SDK, so those overrides were silently skipped.Changes
Contributes to SDK-4
Closes #224
Review effort: 3/5