Skip to content

Add expassigned tag to settings editor to show which settings are actively affected by an exptreatment - #336350

Draft
SteVen Batten (sbatten) wants to merge 2 commits into
mainfrom
sbatten/agents/experiment-treatment-labels-filtering
Draft

SteVen Batten (sbatten) wants to merge 2 commits into
mainfrom
sbatten/agents/experiment-treatment-labels-filtering

Conversation

@sbatten

@sbatten SteVen Batten (sbatten) commented Sep 16, 2026

Copy link
Copy Markdown
Member

Add @tag:expassigned allowing users to filter settings with ExP assignments

Copilot AI balanced review requested due to automatic review settings September 16, 2026 00:32
@sbatten SteVen Batten (sbatten) changed the title Remove ExP assignment pill and improve settings refresh logic Add expassigned tag to settings editor to show which settings are actively affected by an exptreatment Sep 16, 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.

Copilot review overview

🟡 Changes recommended

The assignment refresh bypasses existing focus-preserving rendering and can drop keyboard focus.

Get a fresh assessment by requesting another Copilot review.

Review tier: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Adds @tag:expassigned filtering to show settings with active ExP assignments.

Changes:

  • Tracks ExP assignment state independently from treatment values.
  • Adds Settings editor filtering, menu integration, and live refresh.
  • Adds assignment, configuration, filtering, and accessibility tests.
File Description
src/​vs/​workbench/​services/​configuration/​test/​common/​experimentalSettings.test.ts Tests assignment-state notifications.
src/​vs/​workbench/​services/​configuration/​test/​browser/​configurationService.test.ts Tests configuration assignment tracking.
src/​vs/​workbench/​services/​configuration/​common/​experimentalSettings.ts Introduces the assignment-state service.
src/​vs/​workbench/​services/​configuration/​browser/​configurationService.ts Publishes assignment state during experiment resolution.
src/​vs/​workbench/​services/​assignment/​test/​common/​nullAssignmentService.ts Updates the null assignment service.
src/​vs/​workbench/​services/​assignment/​test/​common/​assignmentService.test.ts Tests assignment-aware treatment resolution.
src/​vs/​workbench/​services/​assignment/​common/​assignmentService.ts Adds assignment metadata to treatment results.
src/​vs/​workbench/​contrib/​preferences/​test/​browser/​settingsTreeModels.test.ts Tests assignment-tag filtering.
src/​vs/​workbench/​contrib/​preferences/​test/​browser/​settingsTree.test.ts Updates renderer test construction.
src/​vs/​workbench/​contrib/​preferences/​test/​browser/​settingsSearchMenu.test.ts Tests the new filter menu action.
src/​vs/​workbench/​contrib/​preferences/​test/​browser/​settingsEditor2.test.ts Tests dynamic result refresh behavior.
src/​vs/​workbench/​contrib/​preferences/​common/​preferences.ts Defines the assignment tag.
src/​vs/​workbench/​contrib/​preferences/​browser/​settingsTreeModels.ts Adds dynamic assignment tags to settings.
src/​vs/​workbench/​contrib/​preferences/​browser/​settingsSearchMenu.ts Adds the ExP Assigned filter action.
src/​vs/​workbench/​contrib/​preferences/​browser/​settingsEditor2.ts Refreshes filtered results on assignment changes.
src/​vs/​workbench/​contrib/​chat/​test/​browser/​feedbackSurvey/​chatModelFeedbackSurveyService.test.ts Updates the assignment-service mock.
src/​vs/​workbench/​contrib/​chat/​test/​browser/​expNotification/​chatExpNotification.test.ts Updates the assignment-service mock.
src/​vs/​workbench/​contrib/​chat/​test/​browser/​chatQuotaNotification.test.ts Updates the assignment-service mock.
src/​vs/​workbench/​contrib/​chat/​test/​browser/​agentSessions/​agentHostPromptCacheNotification.test.ts Updates the assignment-service mock.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts Outdated
@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Base: 0cb5d323 Current: 95b1a3db

No screenshot changes.

@vijayupadya Vijay Upadya (vijayupadya) 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.

Added inline comments (comments generated by copilot)

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.

Re-posting my earlier two comments as inline threads so they're anchored to the exact lines. Nothing new here beyond the anchors — the first settingsEditor2.ts thread (line 413) is the one I'd consider must-fix.

Comment thread src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts Outdated
Comment thread src/vs/workbench/services/configuration/common/experimentalSettings.ts Outdated
Comment thread src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts Outdated
Comment thread src/vs/workbench/services/assignment/common/assignmentService.ts Outdated
Comment thread src/vs/workbench/services/configuration/browser/configurationService.ts Outdated
- Improve settings editor functionality and enhance test coverage.
- Refactor assignment service logic and add new tests for edge cases.
- Update configuration service and experimental settings with tests.

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.

Copilot review overview

🟢 Approval recommended

The cross-cutting assignment and Settings editor behavior is coherently implemented and covered by targeted tests.

Review effort: Balanced
Findings: None

Resolved since last review (1)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants