Skip to content

Remove client feature overrides - #880

Closed
Muiris Woulfe (muiriswoulfe) wants to merge 5 commits into
microsoft:mainfrom
muiriswoulfe:fix/client-feature-overrides
Closed

Remove client feature overrides#880
Muiris Woulfe (muiriswoulfe) wants to merge 5 commits into
microsoft:mainfrom
muiriswoulfe:fix/client-feature-overrides

Conversation

@muiriswoulfe

Copy link
Copy Markdown
Member

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.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@muiriswoulfe
Muiris Woulfe (muiriswoulfe) requested a review from a team as a code owner August 24, 2026 17:00
Copilot AI lite review requested due to automatic review settings August 24, 2026 17:00
@muiriswoulfe Muiris Woulfe (muiriswoulfe) added the bug Something isn't working label Aug 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/FeatureManagement/README.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings August 24, 2026 18:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings August 25, 2026 10:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

/// 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>
@muiriswoulfe

Copy link
Copy Markdown
Member Author

Replaced by #882, which contains the same commits on a branch hosted directly in microsoft/Omex.

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

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants