Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing #13554

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Aug 24, 2020

Conversation

kimadeline
Copy link

@kimadeline kimadeline commented Aug 20, 2020

For #13535

Details of this experiment:

  • control group: no prompt (new behaviour)
  • experiment group A: tip (which is the current behaviour)
  • experiment group B: survey (new behaviour)

The content of the prompt is in the string returned by control tower.

  • Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
  • Title summarizes what is changing.
  • Has a news entry file (remember to thank yourself!).
  • Appropriate comments and documentation strings in the code.
  • Has sufficient logging.
  • Has telemetry for enhancements.
  • Unit tests & system/integration tests are added/updated.
  • Test plan is updated as appropriate.
  • package-lock.json has been regenerated by running npm install (if dependencies have changed).
  • The wiki is updated with any design decisions/details.

@codecov-commenter
Copy link

codecov-commenter commented Aug 20, 2020

Codecov Report

Merging #13554 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master   #13554   +/-   ##
=======================================
  Coverage   59.74%   59.74%           
=======================================
  Files         670      670           
  Lines       37427    37464   +37     
  Branches     5371     5380    +9     
=======================================
+ Hits        22359    22383   +24     
- Misses      13905    13914    +9     
- Partials     1163     1167    +4     
Impacted Files Coverage Δ
src/client/common/types.ts 100.00% <ø> (ø)
src/client/telemetry/index.ts 82.35% <ø> (ø)
src/client/common/experiments/groups.ts 100.00% <100.00%> (ø)
src/client/common/experiments/service.ts 100.00% <100.00%> (ø)
...ent/interpreter/display/interpreterSelectionTip.ts 100.00% <100.00%> (ø)
src/client/telemetry/constants.ts 100.00% <100.00%> (ø)
src/client/common/utils/platform.ts 64.70% <0.00%> (-11.77%) ⬇️
src/client/datascience/crossProcessLock.ts 79.41% <0.00%> (-11.77%) ⬇️
src/client/linters/pydocstyle.ts 86.66% <0.00%> (-2.23%) ⬇️
src/client/datascience/debugLocationTracker.ts 76.56% <0.00%> (-1.57%) ⬇️
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1c44def...f3b2e12. Read the comment docs.

@kimadeline kimadeline marked this pull request as ready for review August 21, 2020 16:06
Comment on lines +50 to +51
this.notificationContent = await this.experiments.getExperimentValue(
SurveyAndInterpreterTipNotification.tipExperiment
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the text that we show to users? Does this also consider the language setting for the text that will be displayed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I talked to @luabud about it, we are aware that this is not going to be localized. It is not something that we are concerned about for this experiment, but we are definitely going to have to keep that in mind if we plan on using this feature (setting strings in experiment data and using them) again.

Copy link

@ericsnowcurrently ericsnowcurrently left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM (as long as you have resolved my comments, one way or another)

import { sendTelemetryEvent } from '../../telemetry';
import { EventName } from '../../telemetry/constants';

export enum NotificationType {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this exported for?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, I thought I was going to use it in the tests 🗑️

if (selection !== Common.gotIt()) {
return;
if (this.notificationType === NotificationType.Tip) {
await this.shell.showInformationMessage(this.notificationContent!, Common.gotIt());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to remove the if (selection !== Common.gotIt()) { block that was there before? If so, why is it no longer needed?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the new desired behaviour is to not show the prompt again when users close the prompt or ignore it, while the previous "Got it!" block would exit early without updating the stored valued that would skip showing the prompt.

if (selection !== Common.gotIt()) {
return;
if (this.notificationType === NotificationType.Tip) {
await this.shell.showInformationMessage(this.notificationContent!, Common.gotIt());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to sent telemetry for this?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch^2, I guess I was still partly away 🧠

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 2 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@kimadeline kimadeline merged commit 3eb7b23 into microsoft:master Aug 24, 2020
@kimadeline kimadeline deleted the 13535-prompt-tip-survey branch August 24, 2020 22:56
karthiknadig pushed a commit to karthiknadig/vscode-python that referenced this pull request Aug 25, 2020
…ip, a link to a feedback survey or nothing (microsoft#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments
karthiknadig added a commit that referenced this pull request Aug 27, 2020
* Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. (#13600)

* Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing (#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments

* Fix save on close (#13567)

* Pass model through command instead of URI in order to use directly

* Add a test to verify we don't regress

* Finish fixing tests

* Add news entry

* Fix unit tests

* Update changelog and version for point release.

* Change date.

* Format using latest black (#13625)

Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>
karthiknadig pushed a commit to karthiknadig/vscode-python that referenced this pull request Aug 27, 2020
…ip, a link to a feedback survey or nothing (microsoft#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments
karthiknadig added a commit that referenced this pull request Aug 27, 2020
* Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. (#13600)

* Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing (#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments

* Fix save on close (#13567)

* Pass model through command instead of URI in order to use directly

* Add a test to verify we don't regress

* Finish fixing tests

* Add news entry

* Fix unit tests

* Update changelog and version for point release.

* Skip workspace virtual env service tests

* Add link to issue for skipping

Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>
karthiknadig added a commit that referenced this pull request Sep 8, 2020
* Port gather survey and icon getting disabled while gathering (#13296)

* Add gather status bar and update survey link (#13225)

* add status bar

* add localization

* Added news file

* add a 2 second timeout

* updated the gather survey link

* Change the gather icon while gathering

* moved the gathering redux function to
interactive common
added a constant

* move css to common.css

* removed the status bar message

* changed noop import

* update changelog

* Disable test (#13346) (#13350)

Co-authored-by: Rich Chiodo <[email protected]>

* Add cell navigation commands as well as a default set of keyboard bindings for most new interactive window cell commands (#13334) (#13348)

* Add Goto Prev/Next Cell

* Add goto previous cell

* Remove unneeded changes

* Add default keybindings for cell commands

* Goto should be Go to

Co-authored-by: Jim Griesmer <[email protected]>

Co-authored-by: Jim Griesmer <[email protected]>

* Autoscroll when extending cell select (#13353) (#13354)

Code change can only affect new keyboard shortcut operations

* Update Release branch for August Release (#13401)

* update version number and npm install to update package-lock.json

* update changelog version and date

* update news for changelog.md

* update generated TPN

Co-authored-by: Ian Huff <[email protected]>

* Update version and change log for bug fix release (#13537)

* Update LSP to latest to resolve problems with LS settings  (#13511)

* Fix path

* Actually fix settings

* Add news

* Add test

* Format

* Suppress 'jediEnabled' removal

* Drop survey first launch threshold

* Update LSP to fix issue with settings in MPLS v1

* Add telemetry for `switch to Pylance` acceptance (#13526)

* Fix path

* Actually fix settings

* Add news

* Add test

* Format

* Suppress 'jediEnabled' removal

* Drop survey first launch threshold

* Initial

* Add test

* PR feedback

* Rename property

* Rename constant

* Define property

* Moar rename

* casing

* Update version and changelogs

* Show status of Jupyter server (Connected/Disconnected) when the user hovers over the status icon (#13544)

* Update change log with more cherry picks

Co-authored-by: Mikhail Arkhipov <[email protected]>
Co-authored-by: Shantnu Suman <[email protected]>

* Update changelog and version for point release. (#13610)

* Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. (#13600)

* Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing (#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments

* Fix save on close (#13567)

* Pass model through command instead of URI in order to use directly

* Add a test to verify we don't regress

* Finish fixing tests

* Add news entry

* Fix unit tests

* Update changelog and version for point release.

* Change date.

* Format using latest black (#13625)

Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>

* Skip flaky virtual env tests (#13650)

* Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. (#13600)

* Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing (#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments

* Fix save on close (#13567)

* Pass model through command instead of URI in order to use directly

* Add a test to verify we don't regress

* Finish fixing tests

* Add news entry

* Fix unit tests

* Update changelog and version for point release.

* Skip workspace virtual env service tests

* Add link to issue for skipping

Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>

* Cherry picks, change log, and version update for point release. (#13666)

* Add install telemetry (#13653)

* Add extension install telemetry.

* Add tests.

* Fix typo

* Fix tests.

* Update comment to reflect what the installed actually does.

* Update change log and version for point release.

* Cherry pick history bug for Azure ML CI && Make Jupyter server clickable (#13712)

* Fix: Getting an error on selecting an existing CI which has a display name from the historical CI's in the quick picks (#13642)

* Make Jupyter Server name clickale to select Jupyter server (#13657)

* Update Changelog and remove news files

* Update package version. (#13748)

* Update and pin LSP libraries for new APIs (#13725) (#13756)

Co-authored-by: Jake Bailey <[email protected]>

* PORT showStartPage setting fix (#13706) (#13758)

* fix showStartPage setting on configSettings.ts (#13706)

* fix showStartPage setting on configSettings.ts

* add news file

* Fix unit tests

* oops

* update changelog

* Fix merge issues

* Clean up news

Co-authored-by: David Kutugata <[email protected]>
Co-authored-by: Ian Huff <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>
Co-authored-by: Jim Griesmer <[email protected]>
Co-authored-by: Jim Griesmer <[email protected]>
Co-authored-by: Ian Huff <[email protected]>
Co-authored-by: Mikhail Arkhipov <[email protected]>
Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Jake Bailey <[email protected]>
karthiknadig added a commit that referenced this pull request Sep 14, 2020
* Port gather survey and icon getting disabled while gathering (#13296)

* Add gather status bar and update survey link (#13225)

* add status bar

* add localization

* Added news file

* add a 2 second timeout

* updated the gather survey link

* Change the gather icon while gathering

* moved the gathering redux function to
interactive common
added a constant

* move css to common.css

* removed the status bar message

* changed noop import

* update changelog

* Disable test (#13346) (#13350)

Co-authored-by: Rich Chiodo <[email protected]>

* Add cell navigation commands as well as a default set of keyboard bindings for most new interactive window cell commands (#13334) (#13348)

* Add Goto Prev/Next Cell

* Add goto previous cell

* Remove unneeded changes

* Add default keybindings for cell commands

* Goto should be Go to

Co-authored-by: Jim Griesmer <[email protected]>

Co-authored-by: Jim Griesmer <[email protected]>

* Autoscroll when extending cell select (#13353) (#13354)

Code change can only affect new keyboard shortcut operations

* Update Release branch for August Release (#13401)

* update version number and npm install to update package-lock.json

* update changelog version and date

* update news for changelog.md

* update generated TPN

Co-authored-by: Ian Huff <[email protected]>

* Update version and change log for bug fix release (#13537)

* Update LSP to latest to resolve problems with LS settings  (#13511)

* Fix path

* Actually fix settings

* Add news

* Add test

* Format

* Suppress 'jediEnabled' removal

* Drop survey first launch threshold

* Update LSP to fix issue with settings in MPLS v1

* Add telemetry for `switch to Pylance` acceptance (#13526)

* Fix path

* Actually fix settings

* Add news

* Add test

* Format

* Suppress 'jediEnabled' removal

* Drop survey first launch threshold

* Initial

* Add test

* PR feedback

* Rename property

* Rename constant

* Define property

* Moar rename

* casing

* Update version and changelogs

* Show status of Jupyter server (Connected/Disconnected) when the user hovers over the status icon (#13544)

* Update change log with more cherry picks

Co-authored-by: Mikhail Arkhipov <[email protected]>
Co-authored-by: Shantnu Suman <[email protected]>

* Update changelog and version for point release. (#13610)

* Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. (#13600)

* Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing (#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments

* Fix save on close (#13567)

* Pass model through command instead of URI in order to use directly

* Add a test to verify we don't regress

* Finish fixing tests

* Add news entry

* Fix unit tests

* Update changelog and version for point release.

* Change date.

* Format using latest black (#13625)

Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>

* Skip flaky virtual env tests (#13650)

* Show the server display string that the user is going to connect to after selecting a compute instance and reloading the window. (#13600)

* Update "Tip" notification for new users to either show the existing tip, a link to a feedback survey or nothing (#13554)

* Update vscode-tas-client
* Add experiment group enum
* Add method to retrieve experiment values
* Implementation + tests
* News file
* Update wording of the news entry
* Add telemetry
* More tests
* No opting-in and out of this one
* Don't fetch value if opted out, add tests
* Address comments

* Fix save on close (#13567)

* Pass model through command instead of URI in order to use directly

* Add a test to verify we don't regress

* Finish fixing tests

* Add news entry

* Fix unit tests

* Update changelog and version for point release.

* Skip workspace virtual env service tests

* Add link to issue for skipping

Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>

* Cherry picks, change log, and version update for point release. (#13666)

* Add install telemetry (#13653)

* Add extension install telemetry.

* Add tests.

* Fix typo

* Fix tests.

* Update comment to reflect what the installed actually does.

* Update change log and version for point release.

* Cherry pick history bug for Azure ML CI && Make Jupyter server clickable (#13712)

* Fix: Getting an error on selecting an existing CI which has a display name from the historical CI's in the quick picks (#13642)

* Make Jupyter Server name clickale to select Jupyter server (#13657)

* Update Changelog and remove news files

* Update package version. (#13748)

* Update and pin LSP libraries for new APIs (#13725) (#13756)

Co-authored-by: Jake Bailey <[email protected]>

* PORT showStartPage setting fix (#13706) (#13758)

* fix showStartPage setting on configSettings.ts (#13706)

* fix showStartPage setting on configSettings.ts

* add news file

* Fix unit tests

* oops

* update changelog

* Fixes for point release (#13841)

* Use 'main' branch for experiments.

* Update changelog and versions

* Update CHANGELOG.md

* Replace 'master' with 'main' in readme (#13845)

Co-authored-by: David Kutugata <[email protected]>
Co-authored-by: Ian Huff <[email protected]>
Co-authored-by: Rich Chiodo <[email protected]>
Co-authored-by: Jim Griesmer <[email protected]>
Co-authored-by: Jim Griesmer <[email protected]>
Co-authored-by: Ian Huff <[email protected]>
Co-authored-by: Mikhail Arkhipov <[email protected]>
Co-authored-by: Shantnu Suman <[email protected]>
Co-authored-by: Kim-Adeline Miguel <[email protected]>
Co-authored-by: Jake Bailey <[email protected]>
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