Open Fxplorer opened 7 months ago
@jonsequitur This above issue makes Dotnet.Interactive practically unusable to anyone using any other kernel but C#.
I was looking at this code:
https://github.com/dotnet/interactive/blob/11e9be0dae01de51a59ef8e43a0d59dd9c1d3399/src/polyglot-notebooks-vscode-common/src/metadataUtilities.ts#L99C44-L99C52
It looks like its' accessing
const kernelInfo = interactiveDocument.metadata.kernelInfo;
where in fact in .ipynb files that should be
const kernelInfo = interactiveDocument.metadata.polyglot_notebook.kernelInfo;
At least if this is the metadata that it's accessing:
{
"metadata": {
"kernelspec": {
"display_name": ".NET (F#)",
"language": "F#",
"name": ".net-fsharp"
},
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "fsharp",
"items": [
{
"aliases": [],
"languageName": "fsharp",
"name": "fsharp"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Can you look at it, thanks.
Describe the bug
Please provide as much information as you can.
Upon saving a notebook file (specifically .dib here but the .ipynb books exhibit the same behavior on me) where creation of notebook I select "F#".
Upon first save, the code box resets to csharp. Looking at the file in a text editor shows
{"kernelInfo":{"defaultKernelName":"fsharp","items":[{"aliases":[],"languageName":"fsharp","name":"fsharp"}]}}
which should be ok. Manually changing the block back to F# then adding a few new ones, then save again.
file changes to:
{"kernelInfo":{"defaultKernelName":"csharp","items":[{"aliases":[],"name":"csharp"},{"aliases":[],"languageName":"fsharp","name":"fsharp"}]}}
This happens enough times in trying to use notebooks to be quite annoying, and has happened with .dib and .ipynb
Issues that are similar in nature are: https://github.com/dotnet/interactive/issues/1309 https://github.com/dotnet/interactive/issues/1038
and in vscode are: https://github.com/microsoft/vscode-jupyter/issues/4757 https://github.com/microsoft/vscode/issues/140673 https://github.com/microsoft/vscode-jupyter/issues/4757
Please complete the following:
Which version of .NET Interactive are you using? (In a notebook, run the
#!about
magic command. ):vscode info:
Screenshots
If applicable, add screenshots to help explain your problem. A video demo is at the link of https://www.dropbox.com/scl/fi/9p7nzjarbmciyqitib63c/2024-04-18-14-19-55.mp4?rlkey=tknlky6vs9twikwbtfb3ahr13&dl=0
with the following notes: 0:01:20 saving file after selecting F# as default kernal changes the code window to C# when save is done. 0:03:52 shows the text of the example1.dib file after adding a couple new blocks and saving. It has changed some defaults to csharp.