Remove client feature overrides - #880
Closed
Muiris Woulfe (muiriswoulfe) wants to merge 5 commits into
Closed
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Muiris Woulfe (muiriswoulfe)
August 24, 2026 17:01
View session
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes unauthenticated, request-driven feature override mechanisms (query-string–based controls) so that feature states can only be influenced by server-controlled configuration and experimentation, aligning FeatureManagement behavior with secure, centrally managed evaluation.
Changes:
- Removed query-string override paths from
ExtendedFeatureManager,ToggleFilter, and related constants/interfaces. - Simplified
FeatureGatesService.GetFeatureGatesAsync()to stop applying bulk enabled/disabled override lists and rely on server-controlled override evaluation. - Updated unit tests and documentation to reflect the removal of client/request overrides.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/FeatureManagement.UnitTests/Filters/ToggleFilterTests.cs | Removes query-string toggle coverage and updates construction to match the new ToggleFilter signature. |
| tests/FeatureManagement.UnitTests/FeatureGatesServiceTests.cs | Removes requested/blocked feature surface tests and updates expected gate results without request override lists. |
| tests/FeatureManagement.UnitTests/ExtendedFeatureManagerTests.cs | Removes HttpContext/query override tests and focuses coverage on server-controlled override behavior. |
| src/FeatureManagement/README.md | Updates docs to state server-controlled overrides and explicitly disallow request overrides. |
| src/FeatureManagement/IFeatureGatesService.cs | Removes RequestedFeatures/BlockedFeatures from the contract and updates remarks to server-controlled overrides. |
| src/FeatureManagement/IFeatureGatesConsolidator.cs | Removes mention of query-string overrides from interface documentation. |
| src/FeatureManagement/IExtendedFeatureManager.cs | Removes request override properties and clarifies that request-driven overrides are unsupported. |
| src/FeatureManagement/Filters/ToggleFilter.cs | Removes HttpContext/query parsing and toggles solely via FeatureOverrideSettings.Toggled. |
| src/FeatureManagement/FeatureGatesService.cs | Removes requested/blocked feature properties and bulk override map updates; relies on IExtendedFeatureManager evaluation. |
| src/FeatureManagement/FeatureGatesConsolidator.cs | Removes query-string override mention from class documentation. |
| src/FeatureManagement/ExtendedFeatureManager.cs | Removes HttpContext dependency and query override checks; overrides are now only from FeatureOverrideSettings. |
| src/FeatureManagement/Constants/RequestParameters.cs | Removes query parameter constants for enabled/disabled/toggled feature overrides. |
| .github/copilot-instructions.md | Updates project documentation references from query overrides to server-controlled overrides. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Muiris Woulfe (muiriswoulfe)
August 24, 2026 18:07
View session
Copilot started reviewing on behalf of
Muiris Woulfe (muiriswoulfe)
August 25, 2026 10:16
View session
Muiris Woulfe (muiriswoulfe)
had a problem deploying
to
github-app-main
August 25, 2026 14:21 — with
GitHub Actions
Failure
Copilot started reviewing on behalf of
Muiris Woulfe (muiriswoulfe)
August 25, 2026 14:22
View session
| /// The extended feature manager provides support for dynamic overriding or toggling of features. | ||
| /// The extended feature manager provides support for server-controlled feature overrides. | ||
| /// </summary> | ||
| /// <param name="featureManager">The feature manger.</param> |
Muiris Woulfe (muiriswoulfe)
had a problem deploying
to
github-app-main
August 25, 2026 14:27 — with
GitHub Actions
Failure
Member
Author
|
Replaced by #882, which contains the same commits on a branch hosted directly in microsoft/Omex. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Remove unauthenticated request controls that allowed callers to force feature states and bypass configured evaluation.
Impact
Feature state is now controlled only by server configuration, experiments, and existing filters. This intentionally breaks consumers of the retired request override API.