Files
vscode/extensions
023440219a Add experiment driven inline model feedback survey (#331850)
* Add experiment driven inline model feedback survey

Adds a survey that can be attached to chat responses through an experiment
treatment, so a survey can be authored, changed, or retired without shipping
code. When one applies, a combined thumbs up and down control replaces the
usual helpful and unhelpful actions in the response footer and opens a short
multi step survey beneath it.

The survey is fully described by a versioned JSON payload: which responses it
applies to, when it may open on its own, and its steps. Answers are reported as
each step is taken, so surveys the user abandons still produce data, and they
land in GitHub restricted telemetry through a command the Copilot extension
registers.

Manual activation is never rate limited. The pacing rules in the payload govern
only surfacing the user did not ask for: a weekly cooldown, a per session cap, a
probability that ramps with use, and a trigger for switching off the surveyed
model.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: aaf67de5-2dc8-437c-961b-257c488475a7

* Fix fixture services and address review feedback

Registers the survey service with the shared chat fixture services, which the
component fixture tests build a real chat list renderer from. Without it the
resize observer harness fixtures failed to load.

Also from review:
- Re-check a cached survey against the current config and the feedback setting,
  so retiring a treatment or turning feedback off takes effect. A survey the
  user is part way through is left alone, since a treatment that briefly
  resolves to nothing must not take a form away mid answer.
- Release per session state when a session is disposed, rather than holding it
  until the treatment changes or the window closes.
- Move focus to the close button after submitting, so keyboard users are not
  left on the document body while the acknowledgement is showing.
- Report the feedback control as expanded rather than pressed, since it
  discloses a panel rather than holding a state.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: aaf67de5-2dc8-437c-961b-257c488475a7

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: aaf67de5-2dc8-437c-961b-257c488475a7
2026-08-20 15:34:04 -04:00
..
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00
2026-08-11 09:10:49 +00:00