From 7bbc75bd921e0b867c50a3ced43d13cb6c982894 Mon Sep 17 00:00:00 2001 From: Ben McMorran Date: Thu, 9 Feb 2023 15:33:58 -0800 Subject: [PATCH] Remove NSAT survey --- package-lock.json | 31 ----------------- package.json | 2 -- src/extension.ts | 6 +--- src/nsat.ts | 87 ----------------------------------------------- 4 files changed, 1 insertion(+), 125 deletions(-) delete mode 100644 src/nsat.ts diff --git a/package-lock.json b/package-lock.json index 9af1345b..7fa76333 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "@vscode/extension-telemetry": "~0.6.2", "body-parser": "^1.16.1", "cocopa": "0.0.13", - "compare-versions": "^3.4.0", "eventemitter2": "^4.1.0", "express": "^4.14.1", "extract-zip": "^2.0.1", @@ -31,7 +30,6 @@ "devDependencies": { "@babel/core": "^7.15.5", "@babel/preset-env": "^7.15.6", - "@types/compare-versions": "^3.0.0", "@types/express": "^4.17.13", "@types/glob": "^7.1.4", "@types/mocha": "^5.2.7", @@ -2134,16 +2132,6 @@ "@types/node": "*" } }, - "node_modules/@types/compare-versions": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@types/compare-versions/-/compare-versions-3.3.0.tgz", - "integrity": "sha512-5nlNADyetxvaPz7aJ6CHiT9T3u+tyemJFXxBNoxTrKv+zhOvS6d36/7naGZ1iZXvlATpCyGh2EcREHDdM4A+gg==", - "deprecated": "This is a stub types definition. compare-versions provides its own type definitions, so you do not need this installed.", - "dev": true, - "dependencies": { - "compare-versions": "*" - } - }, "node_modules/@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", @@ -4597,11 +4585,6 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" - }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -17746,15 +17729,6 @@ "@types/node": "*" } }, - "@types/compare-versions": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@types/compare-versions/-/compare-versions-3.3.0.tgz", - "integrity": "sha512-5nlNADyetxvaPz7aJ6CHiT9T3u+tyemJFXxBNoxTrKv+zhOvS6d36/7naGZ1iZXvlATpCyGh2EcREHDdM4A+gg==", - "dev": true, - "requires": { - "compare-versions": "*" - } - }, "@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", @@ -19713,11 +19687,6 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" - }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", diff --git a/package.json b/package.json index d465f629..7b04e2d8 100644 --- a/package.json +++ b/package.json @@ -591,7 +591,6 @@ "devDependencies": { "@babel/core": "^7.15.5", "@babel/preset-env": "^7.15.6", - "@types/compare-versions": "^3.0.0", "@types/express": "^4.17.13", "@types/glob": "^7.1.4", "@types/mocha": "^5.2.7", @@ -636,7 +635,6 @@ "@vscode/extension-telemetry": "~0.6.2", "body-parser": "^1.16.1", "cocopa": "0.0.13", - "compare-versions": "^3.4.0", "eventemitter2": "^4.1.0", "express": "^4.14.1", "extract-zip": "^2.0.1", diff --git a/src/extension.ts b/src/extension.ts index 76515999..ee8eeb0b 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -24,10 +24,8 @@ import { ArduinoWorkspace } from "./common/workspace"; const arduinoDebugConfigurationProviderModule = impor("./debug/configurationProvider") as typeof import ("./debug/configurationProvider"); import { DeviceContext } from "./deviceContext"; const completionProviderModule = impor("./langService/completionProvider") as typeof import ("./langService/completionProvider"); -import * as Logger from "./logger/logger"; -const nsatModule = - impor("./nsat") as typeof import ("./nsat"); import { BuildMode } from "./arduino/arduino"; +import * as Logger from "./logger/logger"; import { SerialMonitor } from "./serialmonitor/serialMonitor"; const usbDetectorModule = impor("./serialmonitor/usbDetector") as typeof import ("./serialmonitor/usbDetector"); @@ -76,8 +74,6 @@ export async function activate(context: vscode.ExtensionContext) { correlationId: guid, duration: timer1.end(), }); - - nsatModule.NSAT.takeSurvey(context); }; async function askSwitchToBundledCli(message: string): Promise { diff --git a/src/nsat.ts b/src/nsat.ts deleted file mode 100644 index af08670d..00000000 --- a/src/nsat.ts +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT license. - -"use strict"; - -import * as compareVersions from "compare-versions"; -import { commands, ExtensionContext, extensions, Uri, window } from "vscode"; -import * as Logger from "./logger/logger"; - -const IS_MUST_CANDIDATE_VERSION = false; -const NSAT_SURVEY_URL = "https://www.surveymonkey.com/r/CC2GVRC"; -const PROBABILITY = 0.5; -const SESSION_COUNT_THRESHOLD = 5; -const SESSION_COUNT_KEY = "nsat/sessionCount"; -const LAST_SESSION_DATE_KEY = "nsat/lastSessionDate"; -const TAKE_SURVEY_DATE_KEY = "nsat/takeSurveyDate"; -const CANDIDATED_VERSION_KEY = "nsat/candidatedVersion"; -const EXTENSION_ID = "vsciot-vscode.vscode-arduino"; - -export class NSAT { - public static async takeSurvey({globalState}: ExtensionContext) { - const extension = extensions.getExtension(EXTENSION_ID); - if (!extension) { - return; - } - const today = new Date().toDateString(); - const epoch = new Date(0).toDateString(); - const extensionVersion = extension.packageJSON.version; - const candidatedVersion = globalState.get(CANDIDATED_VERSION_KEY); - if (candidatedVersion && candidatedVersion !== "remindmelater") { - if (candidatedVersion === "*" || !IS_MUST_CANDIDATE_VERSION || compareVersions(extensionVersion, candidatedVersion) <= 0) { - return; - } - globalState.update(LAST_SESSION_DATE_KEY, today); - } - - const lastSessionDate = - globalState.get(LAST_SESSION_DATE_KEY, epoch); - - if (today === lastSessionDate) { - return; - } - - const sessionCount = globalState.get(SESSION_COUNT_KEY, 0) + 1; - await globalState.update(LAST_SESSION_DATE_KEY, today); - await globalState.update(SESSION_COUNT_KEY, sessionCount); - - if (sessionCount < SESSION_COUNT_THRESHOLD || (candidatedVersion !== "remindmelater" && Math.random() > PROBABILITY)) { - return; - } - - const take = { - title: "Take Survey", - run: async () => { - Logger.traceUserData("nsat.survey/takeShortSurvey"); - commands.executeCommand( - "vscode.open", - Uri.parse(`${NSAT_SURVEY_URL}?o=${ - encodeURIComponent(process.platform)}&v=${ - encodeURIComponent(extensionVersion)}`)); - await globalState.update(CANDIDATED_VERSION_KEY, extensionVersion); - await globalState.update(TAKE_SURVEY_DATE_KEY, today); - await globalState.update(SESSION_COUNT_KEY, 0); - }, - }; - const remind = { - title: "Remind Me Later", - run: async () => { - Logger.traceUserData("nsat.survey/remindMeLater"); - await globalState.update(CANDIDATED_VERSION_KEY, "remindmelater"); - await globalState.update(SESSION_COUNT_KEY, 0); - }, - }; - const never = { - title: "Don't Show Again", - run: async () => { - Logger.traceUserData("nsat.survey/dontShowAgain"); - await globalState.update(CANDIDATED_VERSION_KEY, "*"); - }, - }; - Logger.traceUserData("nsat.survey/userAsked"); - const button = await window.showInformationMessage( - "Do you mind taking a quick feedback survey about the Arduino Extension for VS Code?", - take, remind, never); - await (button || remind).run(); - } -}