From ddb4a5acd270622d8711ed246034a052c172c71b Mon Sep 17 00:00:00 2001 From: Luciana Abud <45497113+luabud@users.noreply.github.com> Date: Tue, 25 Mar 2025 17:11:06 -0700 Subject: [PATCH 1/2] Use new feedback setting --- src/client/activation/extensionSurvey.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client/activation/extensionSurvey.ts b/src/client/activation/extensionSurvey.ts index e8df4bb850da..ad4132de5bf3 100644 --- a/src/client/activation/extensionSurvey.ts +++ b/src/client/activation/extensionSurvey.ts @@ -59,14 +59,14 @@ export class ExtensionSurveyPrompt implements IExtensionSingleActivationService return false; } - let feedbackDisabled = false; + let feedbackEnabled = false; const telemetryConfig = this.workspace.getConfiguration('telemetry'); if (telemetryConfig) { - feedbackDisabled = telemetryConfig.get('disableFeedback', false); + feedbackEnabled = telemetryConfig.get('feedback.enabled', true); } - if (feedbackDisabled) { + if (!feedbackEnabled) { return false; } From be6fa04ab0e900a4b665df4c55e5cb267eddec7f Mon Sep 17 00:00:00 2001 From: Luciana Abud <45497113+luabud@users.noreply.github.com> Date: Wed, 26 Mar 2025 00:37:57 +0000 Subject: [PATCH 2/2] Fix tests --- src/client/activation/extensionSurvey.ts | 2 +- .../activation/extensionSurvey.unit.test.ts | 25 ++++++++++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/client/activation/extensionSurvey.ts b/src/client/activation/extensionSurvey.ts index ad4132de5bf3..d32ba7180c0f 100644 --- a/src/client/activation/extensionSurvey.ts +++ b/src/client/activation/extensionSurvey.ts @@ -59,7 +59,7 @@ export class ExtensionSurveyPrompt implements IExtensionSingleActivationService return false; } - let feedbackEnabled = false; + let feedbackEnabled = true; const telemetryConfig = this.workspace.getConfiguration('telemetry'); if (telemetryConfig) { diff --git a/src/test/activation/extensionSurvey.unit.test.ts b/src/test/activation/extensionSurvey.unit.test.ts index 8e191ec82810..a89797bfebef 100644 --- a/src/test/activation/extensionSurvey.unit.test.ts +++ b/src/test/activation/extensionSurvey.unit.test.ts @@ -127,21 +127,38 @@ suite('Extension survey prompt - shouldShowBanner()', () => { } random.verifyAll(); }); - test('Returns false if telemetry.disableFeedback is enabled', async () => { + test('Returns true if telemetry.feedback.enabled is enabled', async () => { disableSurveyForTime.setup((d) => d.value).returns(() => false); doNotShowAgain.setup((d) => d.value).returns(() => false); const telemetryConfig = TypeMoq.Mock.ofType(); workspaceService.setup((w) => w.getConfiguration('telemetry')).returns(() => telemetryConfig.object); telemetryConfig - .setup((t) => t.get(TypeMoq.It.isValue('disableFeedback'), TypeMoq.It.isValue(false))) + .setup((t) => t.get(TypeMoq.It.isValue('feedback.enabled'), TypeMoq.It.isValue(true))) .returns(() => true); const result = extensionSurveyPrompt.shouldShowBanner(); - expect(result).to.equal(false, 'Banner should not be shown when telemetry.disableFeedback is true'); + expect(result).to.equal(true, 'Banner should be shown when telemetry.feedback.enabled is true'); workspaceService.verify((w) => w.getConfiguration('telemetry'), TypeMoq.Times.once()); - telemetryConfig.verify((t) => t.get('disableFeedback', false), TypeMoq.Times.once()); + telemetryConfig.verify((t) => t.get('feedback.enabled', true), TypeMoq.Times.once()); + }); + + test('Returns false if telemetry.feedback.enabled is disabled', async () => { + disableSurveyForTime.setup((d) => d.value).returns(() => false); + doNotShowAgain.setup((d) => d.value).returns(() => false); + + const telemetryConfig = TypeMoq.Mock.ofType(); + workspaceService.setup((w) => w.getConfiguration('telemetry')).returns(() => telemetryConfig.object); + telemetryConfig + .setup((t) => t.get(TypeMoq.It.isValue('feedback.enabled'), TypeMoq.It.isValue(true))) + .returns(() => false); + + const result = extensionSurveyPrompt.shouldShowBanner(); + + expect(result).to.equal(false, 'Banner should not be shown when feedback.enabled is false'); + workspaceService.verify((w) => w.getConfiguration('telemetry'), TypeMoq.Times.once()); + telemetryConfig.verify((t) => t.get('feedback.enabled', true), TypeMoq.Times.once()); }); test('Returns true if user is in the random sampling', async () => {