feat: freeze flag editing when flag is in a running experiment#7888
feat: freeze flag editing when flag is in a running experiment#7888Zaimwa9 wants to merge 4 commits into
Conversation
…consolidated props Use two status-filtered queries (running/paused) instead of one unfiltered page_size=100 query. Consolidate three freeze props into a single FeatureExperimentFreeze object. Extract shared ExperimentFreezeNotice component with link to experiment. Disable controls during loading to prevent unlocked flash.
|
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
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
|
Visual Regression17 screenshots compared. See report for details. |
|
@gemini-code-assist review |
There was a problem hiding this comment.
Code Review
This pull request introduces a feature freeze mechanism that restricts editing of feature flags when they are part of an active experiment. It adds the useFeatureExperimentFreeze hook, an ExperimentFreezeNotice warning component, and integrates the freeze state across the feature settings, values, and segment overrides tabs. The reviewer feedback recommends skipping the experiment query if environmentId is missing to prevent unnecessary API requests, and keeping the footers visible during loading (while disabling save/schedule buttons) to avoid layout shifts and prevent premature submissions.
docs/if required so people know about the feature.Changes
When a flag belongs to a running experiment, the flag editing modal freezes controls to prevent skewing experiment data. Paused experiments allow editing. Frontend-only gate.
What's frozen:
What stays editable:
Implementation details:
useFeatureExperimentFreezehook queries running experiments filtered by status, matches by feature IDExperimentFreezeNoticecomponent with link to the experiment detail pagefreezeprop object passed to each tabHow did you test this code?
npm run typecheck)