Skip to content

Commit

Permalink
Merge from point release back to main (#5511)
Browse files Browse the repository at this point in the history
  • Loading branch information
IanMatthewHuff authored Apr 13, 2021
1 parent f536e12 commit 9e2d5aa
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 2 deletions.
23 changes: 22 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
# Changelog

## 2021.4.0 (31 March 2021)
## 2021.5.1 (12 April 2021)

### Code Health

1. Check the responses of prompts for installation of missing packages such as `IPyKernel`.
([#5432](https://github.com/Microsoft/vscode-jupyter/issues/5432))

### Fixes

1. Fix for 'Export as Python Script' option not appearing.
([#5403](https://github.com/Microsoft/vscode-jupyter/issues/5403))
1. Delete extension context secrets if we get an error when getting them.
Small fixes on error handling.
([#5419](https://github.com/Microsoft/vscode-jupyter/issues/5419))
1. Enable correct plot background for Native Notebooks.
([#5353](https://github.com/Microsoft/vscode-jupyter/issues/5353))
1. Stop asking users to install ipykernel on autostart, only do it when a cell is ran.
([#5368](https://github.com/microsoft/vscode-jupyter/issues/5368))
1. Invalidate cached interpreters when Python extension active interpreter changes.
([#5470](https://github.com/microsoft/vscode-jupyter/issues/5470))

## 2021.5.0 (31 March 2021)

### Enhancements

Expand Down
12 changes: 12 additions & 0 deletions src/client/common/installer/productInstaller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,18 @@ export class DataScienceInstaller extends BaseInstaller {
localize.Common.bannerLabelNo()
);

const action =
item === localize.Common.bannerLabelYes()
? 'install'
: item === localize.Common.bannerLabelNo()
? 'donotinstall'
: 'dismissed';

sendTelemetryEvent(Telemetry.PythonModuleInstal, undefined, {
action,
moduleName: productName
});

if (item === localize.Common.bannerLabelYes()) {
const stopWatch = new StopWatch();
try {
Expand Down
10 changes: 9 additions & 1 deletion src/client/telemetry/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,15 @@ export interface IEventNamePropertyMapping {
[Telemetry.UserDidNotInstallPandas]: never | undefined;
[Telemetry.PythonModuleInstal]: {
moduleName: string;
action: 'displayed' | 'installed' | 'ignored' | 'disabled' | 'failed';
action:
| 'displayed' // Install prompt displayed.
| 'installed' // Installation disabled (this is what python extension returns).
| 'ignored' // Installation disabled (this is what python extension returns).
| 'disabled' // Installation disabled (this is what python extension returns).
| 'failed' // Installation disabled (this is what python extension returns).
| 'install' // User chose install from prompt.
| 'donotinstall' // User chose not to install from prompt.
| 'dismissed'; // User chose to dismiss the prompt.
};
/**
* This telemetry tracks the display of the Picker for Jupyter Remote servers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ suite('DataScience Install IPyKernel (slow) (install)', function () {
[true, false].forEach((which, i) => {
// Use index on test name as it messes up regex matching
test(`Ensure prompt is displayed when ipykernel module is not found and it gets installed ${i}`, async function () {
if (!(await canRunNotebookTests()) || IS_REMOTE_NATIVE_TEST) {
return this.skip();
}
// Confirm message is displayed & we click 'Install` button.
const prompt = await hijackPrompt(
'showErrorMessage',
Expand Down

0 comments on commit 9e2d5aa

Please sign in to comment.