Skip to content

Commit 421d97a

Browse files
justschenCopilot
andauthored
chat: send exit survey feedback through VS Code telemetry (#339400)
Log harness-switch survey lifecycle events and predefined reasons through core telemetry. Replace free-text feedback with a GitHub Issues link and remove the restricted-telemetry extension bridge. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent fe3fabd commit 421d97a

13 files changed

Lines changed: 280 additions & 314 deletions

File tree

‎extensions/copilot/package.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
"onStartupFinished",
8282
"onLanguageModelChat:copilot",
8383
"onUri",
84-
"onCommand:_github.copilot.chat.reportHarnessSwitchFeedbackSurvey",
8584
"onCommand:_github.copilot.chat.reportModelFeedbackSurvey",
8685
"onFileSystem:ccreq",
8786
"onFileSystem:ccsettings"

‎extensions/copilot/src/extension/extension/vscode/contributions.ts‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { NesActivationTelemetryContribution } from '../../../platform/inlineEdit
77
import { asContributionFactory, IExtensionContributionFactory } from '../../common/contributions';
88
import * as contextContribution from '../../context/vscode/context.contribution';
99
import { LifecycleTelemetryContrib } from '../../telemetry/common/lifecycleTelemetryContrib';
10-
import { ChatHarnessSwitchFeedbackSurveyForwardingContrib } from '../../telemetry/vscode/chatHarnessSwitchFeedbackSurveyForwardingContrib';
1110
import { GithubTelemetryForwardingContrib } from '../../telemetry/vscode/githubTelemetryForwardingContrib';
1211
import { ChatModelFeedbackSurveyForwardingContrib } from '../../telemetry/vscode/chatModelFeedbackSurveyForwardingContrib';
1312

@@ -22,7 +21,6 @@ import { ChatModelFeedbackSurveyForwardingContrib } from '../../telemetry/vscode
2221
const vscodeContributions: IExtensionContributionFactory[] = [
2322
asContributionFactory(LifecycleTelemetryContrib),
2423
asContributionFactory(NesActivationTelemetryContribution),
25-
asContributionFactory(ChatHarnessSwitchFeedbackSurveyForwardingContrib),
2624
asContributionFactory(GithubTelemetryForwardingContrib),
2725
asContributionFactory(ChatModelFeedbackSurveyForwardingContrib),
2826
contextContribution,

‎extensions/copilot/src/extension/telemetry/vscode/chatHarnessSwitchFeedbackSurveyForwardingContrib.ts‎

Lines changed: 0 additions & 100 deletions
This file was deleted.

‎src/vs/sessions/contrib/chat/browser/sessionsChatAccessibilityHelp.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class SessionsChatAccessibilityHelp implements IAccessibleViewImplementat
5151
const content: string[] = [];
5252
content.push(localize('sessionsChat.overview', "You are in the Agents window. The Agents window is a dedicated workspace for working with AI agents. It provides a chat interface, a changes view for reviewing agent-generated changes, a file explorer, and customization options."));
5353
content.push(localize('sessionsChat.input', "You are in the chat input. Type a message and press Enter to send it."));
54-
content.push(localize('sessionsChat.harnessSwitchFeedbackSurvey', "After you switch from Copilot to Local, a two-step feedback survey may appear above the chat input. Use Shift+Tab to reach it. In the first step, use Up and Down Arrow to choose why you switched, then press Enter or Space. In the second step, enter any optional feedback and use Tab to reach Submit. Dismiss Survey or Escape closes the survey. After submission, the questions are replaced above the input by a message that your feedback was recorded. Use Dismiss Feedback Acknowledgement or Escape to close it."));
54+
content.push(localize('sessionsChat.harnessSwitchFeedbackSurvey', "After you switch from Copilot to Local, a feedback survey may appear above the chat input. Use Shift+Tab to reach it. Use Up and Down Arrow to choose why you switched, then press Enter or Space to submit. Dismiss Survey or Escape closes the survey. After submission, a message confirms that your feedback was recorded. Use Tab to reach Share it on GitHub to provide specific feedback in a GitHub issue. Use Dismiss Feedback Acknowledgement or Escape to close the message."));
5555
if (configurationService.getValue<boolean>(NEW_SESSION_WELCOME_PHRASES_SETTING)) {
5656
content.push(localize('sessionsChat.welcomeName', "In a new session, the welcome heading is announced when shown. To disable this announcement, set accessibility.verbosity.newSessionWelcome to false. Press Tab to reach Customize Welcome Message beside the welcome heading, or open its context menu{0}. Choose Name to enter a custom name, or clear it to use your GitHub first name when available. Choose Phrases to open the setting where you add or replace welcome phrases, using {1} to position the name.", '<keybinding:editor.action.showContextMenu>', '{name}'));
5757
}

‎src/vs/sessions/contrib/chat/test/browser/sessionsChatAccessibilityHelp.test.ts‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,15 @@ suite('SessionsChatAccessibilityHelp', () => {
178178
const content = store.add(new SessionsChatAccessibilityHelp().getProvider(instantiationService)).provideContent();
179179

180180
assert.deepStrictEqual({
181-
survey: content.includes('a two-step feedback survey may appear above the chat input'),
182-
keyboard: content.includes('use Up and Down Arrow to choose why you switched'),
183-
acknowledgement: content.includes('the questions are replaced above the input by a message that your feedback was recorded'),
181+
survey: content.includes('a feedback survey may appear above the chat input'),
182+
keyboard: content.includes('Use Up and Down Arrow to choose why you switched, then press Enter or Space to submit'),
183+
acknowledgement: content.includes('a message confirms that your feedback was recorded'),
184+
feedbackLink: content.includes('Use Tab to reach Share it on GitHub to provide specific feedback in a GitHub issue'),
184185
}, {
185186
survey: true,
186187
keyboard: true,
187188
acknowledgement: true,
189+
feedbackLink: true,
188190
});
189191
});
190192

‎src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export function getAccessibilityHelpText(type: 'panelChat' | 'inlineChat' | 'qui
7878
}
7979
if (!isSessionsWindow && type !== 'inlineChat' && type !== 'quickChat') {
8080
content.push(localize('chat.copilotHarnessIntroduction', "Depending on the active experiment, a new Copilot harness chat may show an introduction to the new Copilot experience when the session starts or after the first request is submitted. Once shown, sending messages does not dismiss it. Use Tab to reach let us know, Learn More, Got it!, or Not Helpful. Learn More opens documentation without hiding the introduction. Got it! and Not Helpful turn off future introductions."));
81-
content.push(localize('chat.harnessSwitchFeedbackSurvey', "After you switch from Copilot to Local, a two-step feedback survey may appear above the chat input. Use Shift+Tab to reach it. In the first step, use Up and Down Arrow to choose why you switched, then press Enter or Space. In the second step, enter any optional feedback and use Tab to reach Submit. Dismiss Survey or Escape closes the survey. After submission, the questions are replaced above the input by a message that your feedback was recorded. Use Dismiss Feedback Acknowledgement or Escape to close it."));
81+
content.push(localize('chat.harnessSwitchFeedbackSurvey', "After you switch from Copilot to Local, a feedback survey may appear above the chat input. Use Shift+Tab to reach it. Use Up and Down Arrow to choose why you switched, then press Enter or Space to submit. Dismiss Survey or Escape closes the survey. After submission, a message confirms that your feedback was recorded. Use Tab to reach Share it on GitHub to provide specific feedback in a GitHub issue. Use Dismiss Feedback Acknowledgement or Escape to close the message."));
8282
content.push(localize('chat.agentsParallelWork', "When another Agent Host session is running, a new Agent Host chat may show an invitation to run agents side by side. Only one chat input notification is shown at a time. Use Tab to reach Open Agents Window, Ignore, or Dismiss notification. Open Agents Window copies the current prompt and attachments from that input without sending them or clearing it. An existing draft in the Agents Window is kept. Ignore turns off future invitations; Dismiss notification only hides the invitation for this chat until the window reloads."));
8383
}
8484
if (type === 'panelChat') {

0 commit comments

Comments
 (0)