feat: use consolidated update-flag endpoints for flag updates - #7803
feat: use consolidated update-flag endpoints for flag updates#7803kyle-ssg wants to merge 5 commits into
Conversation
Routes eligible feature updates through the experimental consolidated update-flag-v2 endpoint (#7641), which works the same whether or not the environment uses feature versioning: - updateFeature mutation: composite queryFn that checks eligibility, deletes removed segment overrides, applies the update in a single call and refetches live feature states. Returns saved: false when the update must fall back to the legacy paths. - toggleFeature mutation: toggles the environment default, absorbing the legacy versioned/non-versioned fallbacks internally. - feature-list-store tries the consolidated path first and falls through to the legacy paths otherwise. - Legacy update paths are marked @deprecated, documenting why each remains: multivariate flags (blocked on #7642), change requests, null flag values and identity overrides. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Docker builds report
|
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Failed testsfirefox › tests/project-permission-test.pw.ts › Project Permission Tests › Project-level permissions control access to features, environments, audit logs, and segments @enterprise Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Failed testsfirefox › tests/project-permission-test.pw.ts › Project Permission Tests › Project-level permissions control access to features, environments, audit logs, and segments @enterprise |
Visual Regression19 screenshots compared. See report for details. |
…e eligibility Change-request edits are routed to the change-request flow upstream (the FeatureListProvider action split and FeatureRow.onChange gate), so canUseConsolidatedFeatureUpdate is only ever reached for direct, non-CR edits. The changeRequestsEnabled check was dead on all live paths, so drop it (and the now-unused environment param) and scrub change requests from the fallback-reason comments. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ate-feature-endpoint
This comment was marked as spam.
This comment was marked as spam.
…ate-feature-endpoint
|
Still blocked. #7642 remains open — no MV or null-value support on the experimental endpoints yet. Backend PRs in flight: #7955, #8000, #8102 (all draft). #8102 stabilises to a single 'Option C' with a new API shape, so this branch needs reworking on top of it, plus a rebase — currently conflicting with main. |
…ate-feature-endpoint Resolve conflicts in the flag-update type definitions and feature state service: - requests.ts / responses.ts: keep the consolidated toggleFeature and updateFeature types, and drop getExperimentResults/experimentResults, which main superseded with the Bayesian results endpoint. - useFeatureState.ts: keep both imports, union the RTK Query tag types (adding ProjectFlag from main alongside FeatureVersion), and export useGetAllEnvironmentFeatureStatesQuery alongside the consolidated toggle/update hooks.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributes to #7641
Routes eligible feature updates through the experimental consolidated update-flag-v2 endpoint (#7641), which behaves identically whether or not the environment uses feature versioning. Eligible updates now go through one call instead of branching on versioned/non-versioned legacy paths.
When it falls through to legacy (and why)
canUseConsolidatedFeatureUpdate returns false — so the update takes a legacy path — in these cases:
Todo backend:
Thanks for submitting a PR! Please check the boxes below:
docs/if required so people know about the feature.Changes
Contributes to
Please describe.
How did you test this code?
Please describe.