microsoft / vscode-jupyter

VS Code Jupyter extension
https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
MIT License
1.25k stars 274 forks source link

Perspective widget does not load in VS Code #15406

Open s1lvester opened 3 months ago

s1lvester commented 3 months ago

Edited by Don, as the widget does not load in regular desktop (not just SSH or the like).

Show Logs ## Environment data - VS Code version: 1.87.2 - Jupyter Extension version: v2024.2.0 - Python Extension version: v2024.2.1 - OS (Windows | Mac | Linux distro) and version: NT x64 10.0.19045 on Client, Ubuntu 20.04 on remote. - Python and/or Anaconda version: 3.9.18 - Type of virtual environment used: N/A - Jupyter server running: Remote-SSH ## Expected behaviour Widget-Download from `"jupyter.widgetScriptSources": ["jsdelivr.com", "unpkg.com"]`, should be downloaded locally, when "Download Extensions Locally" is configured in Remote-SSH. Alternatively vscode-jupyter should use the extension.js from the remote-host from `~/.local/share/jupyter/nbextensions/` or `~/.local/share/jupyter/labextensions/` ## Actual behaviour vscode-jupyter tries and fails to download ScriptSources from "jsdelivr.com", "unpkg.com" - which leads to a timeout, since the remote is "airgapped" In this concrete case the Widget-files in - `~/.local/share/jupyter/nbextensions/@finos/perspective-jupyterlab` - `~/.local/share/jupyter/labextensions/@finos/perspective-jupyterlab` are ignored even though there seems to be logic implemented to search for these as documented here: https://github.com/microsoft/vscode-jupyter/wiki/Component:-IPyWidgets#loading-3rd-party-source ## Steps to reproduce: 1. Install vscode remote-ssh with python and vscode-jupyter. 2. Configure remote-ssh to download all extensions locally (`"remote.downloadExtensionsLocally": true,`) ![image](https://github.com/microsoft/vscode-jupyter/assets/4028418/2d5921f2-4084-47c9-9169-3d794c41b10a) 3. Install and run a python package that uses a Widget - in this case "perspecitve":(https://perspective.finos.org/docs/python/#perspectivewidget) 4. vscode-jupyter is unable to download from jsdeliver.com and unpkg.com, since the remote has not internet, which leads to a timeout. ![2024-03-20 10_18_28-Window](https://github.com/microsoft/vscode-jupyter/assets/4028418/358d9335-c85f-4de3-8f7e-4179fca82d2d) ## Validation Widget works fine I when I start a Jupyterlab Server on the Remote Host and Access it via https in a Webbrowser: ![2024_03_20_12_00_03_New_Session_mbockhacker_2024_01_KHK_Entlassmedikation_mbockhacker_Cloude](https://github.com/microsoft/vscode-jupyter/assets/4028418/a90d83b8-8d03-42ed-94bf-f7642d582e92) ## Logs
Output for Jupyter in the Output

``` 10:16:11.925 [info] Process Execution: /usr/local/bin/python ~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/pythonFiles/printJupyterDataDir.py 10:16:13.382 [info] Handle Execution of Cells 0,1,2,3 for ~/notebooks/DEV/DEV-mb.ipynb 10:16:13.388 [info] End cell 0 execution after 0s, completed @ undefined, started @ undefined 10:16:13.499 [info] Kernel acknowledged execution of cell 1 @ 1710926173499 10:16:14.884 [info] End cell 1 execution after 1.384s, completed @ 1710926174883, started @ 1710926173499 10:16:14.896 [info] Kernel acknowledged execution of cell 2 @ 1710926174896 10:16:15.019 [info] End cell 2 execution after 0.123s, completed @ 1710926175019, started @ 1710926174896 10:16:15.031 [info] Kernel acknowledged execution of cell 3 @ 1710926175030 10:16:15.553 [info] Fetch Script for {"moduleName":"@finos/perspective-jupyterlab","moduleVersion":"~2.9.0","requestId":"@finos/perspective-jupyterlab:~2.9.0:1710926175531"} 10:16:15.553 [info] Fetch Script for @finos/perspective-jupyterlab 10:16:15.554 [info] Searching for Widget Script @finos/perspective-jupyterlab#~2.9.0 using cdns jsdelivr.com unpkg.com 10:16:16.031 [info] End cell 3 execution after 1.001s, completed @ 1710926176031, started @ 1710926175030 10:17:15.553 [error] Widget load failure {} [ 'jsdelivr.com', 'unpkg.com' ] { className: '', moduleName: '@finos/perspective-jupyterlab', moduleVersion: '~2.9.0', isOnline: true, timedout: true, error: '{}' } 10:17:15.613 [error] Widget load failure {} [ 'jsdelivr.com', 'unpkg.com' ] { className: 'PerspectiveModel', moduleName: '@finos/perspective-jupyterlab', moduleVersion: '~2.9.0', isOnline: true, timedout: false, error: '{}' } 10:18:22.881 [error] Widget Script @finos/perspective-jupyterlab#~2.9.0 was not found on on any cdn 10:18:22.882 [warn] Widget Script Source not found for @finos/perspective-jupyterlab@~2.9.0 from cdn 10:18:22.884 [warn] Widget Script Source not found for @finos/perspective-jupyterlab@~2.9.0 from local 10:18:22.884 [error] Script source for Widget @finos/perspective-jupyterlab@~2.9.0 not found in cdn, local 10:18:22.884 [info] Script for @finos/perspective-jupyterlab, is undefined from undefined ```

Output for the Click to show javascript error. Message

``` Error: No version of module @finos/perspective-jupyterlab is registered at ph.loadClass (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-renderers-1.0.17/out/node_modules/%40vscode/jupyter-ipywidgets8/dist/ipywidgets.js:2:4099813) at ph.loadClass (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-renderers-1.0.17/out/node_modules/%40vscode/jupyter-ipywidgets8/dist/ipywidgets.js:2:4403287) at ph.loadModelClass (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-renderers-1.0.17/out/node_modules/%40vscode/jupyter-ipywidgets8/dist/ipywidgets.js:2:4097773) at ph._make_model (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-renderers-1.0.17/out/node_modules/%40vscode/jupyter-ipywidgets8/dist/ipywidgets.js:2:4094616) at ph.new_model (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-renderers-1.0.17/out/node_modules/%40vscode/jupyter-ipywidgets8/dist/ipywidgets.js:2:4092246) at ph.handle_comm_open (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-renderers-1.0.17/out/node_modules/%40vscode/jupyter-ipywidgets8/dist/ipywidgets.js:2:4091039) at https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-renderers-1.0.17/out/node_modules/%40vscode/jupyter-ipywidgets8/dist/ipywidgets.js:2:4402511 at n._handleCommOpen (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/dist/webviews/webview-side/ipywidgetsKernel/ipywidgetsKernel.js:3:80955) at async n._handleMessage (https://vscode-remote+ssh-002dremote-002bcdsw.vscode-resource.vscode-cdn.net/home/cdsw/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/dist/webviews/webview-side/ipywidgetsKernel/ipywidgetsKernel.js:3:82830) ```

Terminal-Output for the nbextensions and labextensions Directories on the remote server.

``` cdsw@u8lkaf207dm5tzjv:~$ ls -l ~/.local/share/jupyter/nbextensions/@finos/perspective-jupyterlab total 10820 -rw-r--r-- 1 cdsw cdsw 90338 Mar 19 10:19 extension.js -rw-r--r-- 1 cdsw cdsw 4840 Mar 19 10:19 extension.js.map -rw-r--r-- 1 cdsw cdsw 4610375 Mar 19 10:19 index.js -rw-r--r-- 1 cdsw cdsw 6363285 Mar 19 10:19 index.js.map cdsw@u8lkaf207dm5tzjv:~$ ls -l ~/.local/share/jupyter/labextensions/@finos/perspective-jupyterlab total 12 -rw-r--r-- 1 cdsw cdsw 202 Mar 19 10:19 install.json -rw-r--r-- 1 cdsw cdsw 2538 Mar 19 10:19 package.json drwxr-xr-x 2 cdsw cdsw 4096 Mar 19 10:19 static ```

## By the way I still think this is somewhat related to https://github.com/microsoft/vscode-jupyter/issues/14762 because vscode-jupyter could just reference the widget files from the remote-host?
DonJayamanne commented 3 months ago

Please could you enable logging as follows:

I'm interested in the python env used to run the cells. And some entries like getDataDirsImpl in the logs. Feel free to obfuccate paths (e.g. removing user names, we already do that). However I'd appreciate it if you can leave most of the logs intact, that.s

s1lvester commented 3 months ago

OK here's the dump.

verbose log output ``` Visual Studio Code (1.87.2, ssh-remote, desktop) Jupyter Extension Version: 2024.2.0. Python Extension Version: 2024.2.1. Pylance Extension Version: 2024.3.1. Platform: linux (x64). Workspace folder /home/cdsw, Home = /home/cdsw 10:58:45.094 [debug] Get Custom Env Variables, Class name = Rm (started execution), Arg 1: undefined, Arg 2: "RunPythonCode" 10:58:45.096 [info] Start refreshing Kernel Picker (1711015125096) 10:58:45.112 [info] Using Pylance 10:58:45.148 [debug] Preferred Remote kernel for ~/test.ipynb is undefined 10:58:46.635 [debug] Get Custom Env Variables, Class name = Rm, completed in 1541ms, has a truthy return value, Arg 1: undefined, Arg 2: "RunPythonCode" 10:58:46.635 [debug] Jupyter Paths /kernels: 10:58:46.635 [debug] Kernel Spec Root Paths, /usr/share/jupyter/kernels, /usr/local/share/jupyter/kernels, ~/.local/share/jupyter/kernels 10:58:46.641 [debug] Search for KernelSpecs in Interpreter /usr/local/bin/python 10:58:46.642 [debug] Finding Global Python KernelSpecs 10:58:46.644 [debug] Full interpreter list is length: 1, /usr/local/bin/python::Unknown:/usr/local/bin/python 10:58:46.647 [debug] Getting activated env variables, Class name = yp (started execution), Arg 1: "~", Arg 2: "/usr/local/bin/python", Arg 3: undefined 10:58:46.647 [debug] Get Custom Env Variables, Class name = Rm (started execution), Arg 1: "~", Arg 2: "RunPythonCode" 10:58:46.648 [debug] Get Custom Env Variables, Class name = Rm, completed in 1ms, has a truthy return value, Arg 1: "~", Arg 2: "RunPythonCode" 10:58:46.678 [debug] Kernels for interpreter /usr/local/bin/python are .jvsc74a57bd0949777d72b0d2535278d3dc13498b2535136f6dfe0678499012e853ee9abcab1./usr/local/python./usr/local/python.-m#ipykernel_launcher 10:58:46.687 [debug] Loading kernelspec from /usr/local/share/jupyter/kernels/python3/kernel.json 10:58:46.896 [debug] KernelProvider switched kernel to id = .jvsc74a57bd0949777d72b0d2535278d3dc13498b2535136f6dfe0678499012e853ee9abcab1./usr/local/python./usr/local/python.-m#ipykernel_launcher 10:58:46.896 [debug] start the kernel, options.disableUI=true for ~/test.ipynb 10:58:46.898 [debug] Initialize notebook communications for editor ~/test.ipynb 10:58:46.899 [debug] Resolving notebook UI Comms (resolve) for ~/test.ipynb 10:58:46.899 [debug] initialize CommonMessageCoordinator 10:58:46.924 [debug] Registering commtarget jupyter.widget 10:58:46.924 [debug] IPyWidgetMessageDispatcher.initialize 10:58:46.924 [debug] Attempting to determine version of IPyWidgets 10:58:46.925 [debug] Controller selection change completed 10:58:46.925 [debug] Waiting for IPyWidgets version 10:58:46.925 [debug] Waiting for IPyWidgets version promise 10:58:46.927 [info] Starting Kernel startUsingPythonInterpreter, .jvsc74a57bd0949777d72b0d2535278d3dc13498b2535136f6dfe0678499012e853ee9abcab1./usr/local/python./usr/local/python.-m#ipykernel_launcher (Python Path: /usr/local/bin/python, Unknown, 3.9.18) for '~/test.ipynb' (disableUI=true) 10:58:46.929 [debug] Creating raw notebook for resource '~/test.ipynb' 10:58:46.947 [debug] Getting activated env variables, Class name = yp (started execution), Arg 1: "~/test.ipynb", Arg 2: "/usr/local/bin/python", Arg 3: undefined 10:58:46.947 [debug] Get Custom Env Variables, Class name = Rm (started execution), Arg 1: "~/test.ipynb", Arg 2: "RunPythonCode" 10:58:46.948 [debug] Get Custom Env Variables, Class name = Rm, completed in 1ms, has a truthy return value, Arg 1: "~/test.ipynb", Arg 2: "RunPythonCode" 10:58:47.012 [debug] Launching kernel .jvsc74a57bd0949777d72b0d2535278d3dc13498b2535136f6dfe0678499012e853ee9abcab1./usr/local/python./usr/local/python.-m#ipykernel_launcher for ~/test.ipynb in ~ with ports 9001, 9000, 9004, 9002, 9003 10:58:47.684 [info] End refreshing Kernel Picker (1711015125096) 10:58:47.686 [debug] Conda file returned by Python Extension is conda 10:58:47.804 [warn] Failed to get activated env vars for /usr/local/bin/python in 1157ms 10:58:47.810 [debug] Create ProcessService, Class name = Tm (started execution), Arg 1: undefined 10:58:47.810 [debug] Get Custom Env Variables, Class name = Rm (started execution), Arg 1: undefined, Arg 2: "RunNonPythonCode", Arg 3: undefined 10:58:47.813 [warn] Failed to get activated env vars for /usr/local/bin/python in 866ms 10:58:47.819 [debug] Get Custom Env Variables, Class name = Rm, completed in 9ms, has a truthy return value, Arg 1: undefined, Arg 2: "RunNonPythonCode", Arg 3: undefined 10:58:47.819 [debug] Create ProcessService, Class name = Tm, completed in 9ms, has a truthy return value, Arg 1: undefined 10:58:47.840 [info] Process Execution: /usr/local/bin/python -c "import site;print("USER_BASE_VALUE");print(site.USER_BASE);print("USER_BASE_VALUE");" 10:58:47.951 [debug] USER_SITE for /usr/local/bin/python is ~/.local/bin 10:58:47.951 [debug] Prepend PATH with user site path for /usr/local/bin/python, user site ~/.local/bin 10:58:47.951 [debug] Prepend PATH with python bin for /usr/local/bin/python 10:58:47.951 [debug] Activated Env Variables for /usr/local/bin/python, PATH value is /usr/local/bin:~/.local/bin:~/.vscode-server/bin/863d2581ecda6849923a2118d93a088b0745d9d6/bin/remote-cli:/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:/opt/cloudera/parcels/CDH/bin:~/.vscode-server/bin/863d2581ecda6849923a2118d93a088b0745d9d6/bin/remote-cli:/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:/opt/cloudera/parcels/CDH/bin and Path value is undefined 10:58:47.951 [debug] Prepend PATH with user site path for /usr/local/bin/python, user site ~/.local/bin 10:58:47.951 [debug] Prepend PATH with python bin for /usr/local/bin/python 10:58:47.951 [debug] Activated Env Variables for /usr/local/bin/python, PATH value is /usr/local/bin:~/.local/bin:~/.vscode-server/bin/863d2581ecda6849923a2118d93a088b0745d9d6/bin/remote-cli:/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:/opt/cloudera/parcels/CDH/bin:~/.vscode-server/bin/863d2581ecda6849923a2118d93a088b0745d9d6/bin/remote-cli:/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:/opt/cloudera/parcels/CDH/bin and Path value is undefined 10:58:47.951 [debug] Getting activated env variables, Class name = yp, completed in 1304ms, has a truthy return value, Arg 1: "~", Arg 2: "/usr/local/bin/python", Arg 3: undefined 10:58:47.951 [debug] Getting activated env variables, Class name = yp, completed in 1004ms, has a truthy return value, Arg 1: "~/test.ipynb", Arg 2: "/usr/local/bin/python", Arg 3: undefined 10:58:47.975 [info] Process Execution: /usr/local/bin/python -m pip list 10:58:47.997 [info] Process Execution: /usr/local/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)" 10:58:47.999 [debug] Kernel Env Variables for ~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/temp/jupyter/kernels/python3918jvsc74a57bd0949777d72b0d2535278d3dc13498b2535136f6dfe0678499012e853ee9abcab1/kernel.json, PATH value is /usr/local/bin:~/.local/bin:~/.vscode-server/bin/863d2581ecda6849923a2118d93a088b0745d9d6/bin/remote-cli:/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:/opt/cloudera/parcels/CDH/bin:~/.vscode-server/bin/863d2581ecda6849923a2118d93a088b0745d9d6/bin/remote-cli:/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-1.el7_9.x86_64/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/conda/bin:/opt/cloudera/parcels/CDH/bin 10:58:48.021 [info] Process Execution: /usr/local/bin/python -m ipykernel_launcher --f=~/.local/share/jupyter/runtime/kernel-v2-1187YC4Xsk6eP9io.json > cwd: ~ 10:58:48.021 [info] Kernel process 1440. 10:58:48.254 [debug] ipykernel version & path 6.22.0, /usr/local/lib/python3.9/site-packages/ipykernel/__init__.py for /usr/local/bin/python 10:58:48.764 [debug] Kernel output: NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work. To exit, you will have to explicitly quit this process, by either sending "quit" from a client, or using Ctrl-\ in UNIX-like environments. To read more about this, see https://github.com/ipython/ipython/issues/2049 To connect another client to this kernel, use: --existing ~/.local/share/jupyter/runtime/kernel-v2-1187YC4Xsk6eP9io.json 10:58:48.910 [debug] Waiting for Raw Session to be ready in postStartRawSession 10:58:48.910 [debug] Waiting for Raw session to be ready, status: connected 10:58:48.910 [debug] Raw session connected 10:58:48.910 [debug] Waiting for Raw session to be ready 10:58:48.911 [debug] Waited for Raw session to be ready & got status: connected 10:58:48.912 [debug] Successfully waited for Raw Session to be ready in postStartRawSession 10:58:48.912 [debug] Kernel status is 'unknown' before requesting kernel info and after ready 10:58:48.912 [debug] Sending request for kernelInfo 10:58:48.920 [debug] Got response for requestKernelInfo 10:58:48.920 [debug] Successfully completed postStartRawSession after 1 attempt(s) in 8ms 10:58:48.922 [debug] Executing silently Code (idle) = import sys as _VSCODE_sys\nprint(_VSCODE_sys.executable); del _VSCODE_sys 10:58:48.934 [debug] Executing silently Code (completed) = import sys as _VSCODE_sys\nprint(_VSCODE_sys.executable); del _VSCODE_sys with 1 output(s) 10:58:48.934 [debug] End sendTelemetryForPythonKernelExecutable after 12ms 10:58:48.934 [debug] Started running kernel initialization for ~/test.ipynb 10:58:48.935 [debug] Executing silently Code (idle) = try:\nimport ipywidgets as _VSCODE_ipywidgets\nprint("e976ee50-99ed-4aba-9b6b-9dcd5634d07d:IPy 10:58:49.023 [debug] Executing silently Code (completed) = try:\nimport ipywidgets as _VSCODE_ipywidgets\nprint("e976ee50-99ed-4aba-9b6b-9dcd5634d07d:IPy with 1 output(s) 10:58:49.023 [debug] Determined IPyWidgets Version as 8 10:58:49.024 [debug] Version of IPyWidgets 8 determined after 2.1s 10:58:49.027 [debug] Executing silently Code (idle) = def __VSCODE_inject_module():\ndef __VSCODE_call_function(function, callback, data=None): 10:58:49.052 [debug] Executing silently Code (completed) = def __VSCODE_inject_module():\ndef __VSCODE_call_function(function, callback, data=None): with 1 output(s) 10:58:49.052 [debug] Requesting Kernel info 10:58:49.053 [debug] Got Kernel info 10:58:49.053 [debug] End running kernel initialization, now waiting for idle 10:58:49.053 [debug] Waiting for idle on (kernel): 7f810fac-255e-4477-b35d-9061e6701980 -> idle 10:58:49.053 [debug] Finished waiting for idle on (kernel): 7f810fac-255e-4477-b35d-9061e6701980 -> idle 10:58:49.053 [debug] End running kernel initialization, session is idle 10:58:49.055 [info] Registering Kernel Completion Provider from kernel Python 3.9.18 for language python 10:58:49.057 [debug] IPyWidgetScriptSource.initialize 10:58:49.057 [debug] IPyWidgetMessageDispatcher.initialize 10:58:49.059 [debug] getDataDirsImpl, Class name = Fr (started execution), Arg 1: "~/test.ipynb", Arg 2: "/usr/local/bin/python" 10:58:49.059 [debug] Get Custom Env Variables, Class name = Rm (started execution), Arg 1: undefined, Arg 2: "RunPythonCode" 10:58:49.060 [debug] Get Custom Env Variables, Class name = Rm, completed in 1ms, has a truthy return value, Arg 1: undefined, Arg 2: "RunPythonCode" 10:58:49.060 [debug] Jupyter Paths : 10:58:49.084 [info] Process Execution: /usr/local/bin/python ~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/pythonFiles/printJupyterDataDir.py 10:58:49.120 [debug] getDataDirsImpl, Class name = Fr, completed in 61ms, has a truthy return value, Arg 1: "~/test.ipynb", Arg 2: "/usr/local/bin/python", Return Value: , , 10:58:49.629 [debug] IPyWidgetMessageDispatcher.initialize 10:58:49.630 [debug] Web view is ready to receive widget messages 10:58:49.710 [debug] Widget Message: Received IPyWidgets_kernelOptions in ScriptManager 10:58:49.711 [debug] Widget Message: Received IPyWidgetMessages.IPyWidgets_kernelOptions 10:58:49.712 [debug] IPyWidgetMessageDispatcher.initialize 10:58:49.713 [debug] IPyWidgetMessageDispatcher.initialize 10:58:49.717 [debug] Widget Message: data-base-url set to https://vscode-remote%2Bssh-002dremote-002b.vscode-resource.vscode-cdn.net~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/temp/scripts/c8fad22bbb5ab4dd52cae613464ad18c61e3d7a5f8c02f2f368a32d91ba819e8/jupyter 10:58:49.717 [debug] Widget Message: Received IPyWidgets_kernelOptions in ScriptManager 10:58:49.718 [debug] Widget Message: Received IPyWidgetMessages.IPyWidgets_kernelOptions 10:58:49.718 [debug] Widget Message: data-base-url set to https://vscode-remote%2Bssh-002dremote-002b.vscode-resource.vscode-cdn.net~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/temp/scripts/c8fad22bbb5ab4dd52cae613464ad18c61e3d7a5f8c02f2f368a32d91ba819e8/jupyter 10:58:49.738 [debug] Widget Message: Received IPyWidget scripts [{"moduleName":"jupyterlab-plotly","scriptUri":"https://vscode-remote%2Bssh-002dremote-002b.vscode-resource.vscode-cdn.net~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/temp/scripts/c8fad22bbb5ab4dd52cae613464ad18c61e3d7a5f8c02f2f368a32d91ba819e8/jupyter/nbextensions/jupyterlab-plotly/index","source":"local"}] 10:58:49.748 [debug] Widget Message: Source for IPyWidget jupyterlab-plotly found in local @ https://vscode-remote%2Bssh-002dremote-002b.vscode-resource.vscode-cdn.net~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/temp/scripts/c8fad22bbb5ab4dd52cae613464ad18c61e3d7a5f8c02f2f368a32d91ba819e8/jupyter/nbextensions/jupyterlab-plotly/index. 10:58:49.749 [debug] Widget Message: Registering IPyWidget jupyterlab-plotly found in https://vscode-remote%2Bssh-002dremote-002b.vscode-resource.vscode-cdn.net~/.vscode-server/extensions/ms-toolsai.jupyter-2024.2.0/temp/scripts/c8fad22bbb5ab4dd52cae613464ad18c61e3d7a5f8c02f2f368a32d91ba819e8/jupyter/nbextensions/jupyterlab-plotly/index. 10:59:06.447 [info] Handle Execution of Cells 0 for ~/test.ipynb 10:59:06.455 [debug] Cell Index:0 sent to kernel 10:59:06.469 [debug] Start cell 0 execution @ 1711015146469 (clear output) 10:59:06.470 [info] Kernel acknowledged execution of cell 0 @ 1711015146469 10:59:07.063 [info] End cell 0 execution after 0.594s, completed @ 1711015147063, started @ 1711015146469 10:59:07.063 [debug] Cell 0 executed successfully 10:59:07.129 [debug] Widget Message: WidgetManager: Loading class LayoutModel:@jupyter-widgets/base:2.0.0 10:59:07.136 [debug] Widget Message: WidgetManager: Loading class PerspectiveModel:@finos/perspective-jupyterlab:~2.9.0 10:59:07.137 [debug] Widget Message: Fetch IPyWidget source for @finos/perspective-jupyterlab 10:59:07.137 [info] Fetch Script for {"moduleName":"@finos/perspective-jupyterlab","moduleVersion":"~2.9.0","requestId":"@finos/perspective-jupyterlab:~2.9.0:1711015147097"} 10:59:07.137 [info] Fetch Script for @finos/perspective-jupyterlab 10:59:07.138 [info] Searching for Widget Script @finos/perspective-jupyterlab#~2.9.0 using cdns jsdelivr.com unpkg.com 10:59:07.207 [debug] Version of IPyWidgets 8 determined after 0s 10:59:07.318 [debug] Widget Message: Waiting for model to be available before rendering it 102010bc74d64df99437978a0dce9342 11:00:07.129 [error] Widget load failure {} [ 'jsdelivr.com', 'unpkg.com' ] { className: '', moduleName: '@finos/perspective-jupyterlab', moduleVersion: '~2.9.0', isOnline: true, timedout: true, error: '{}' } 11:00:07.193 [debug] Widget Message: WidgetManager: failed, Loading class PerspectiveModel:@finos/perspective-jupyterlab:~2.9.0 11:00:07.206 [error] Widget load failure {} [ 'jsdelivr.com', 'unpkg.com' ] { className: 'PerspectiveModel', moduleName: '@finos/perspective-jupyterlab', moduleVersion: '~2.9.0', isOnline: true, timedout: false, error: '{}' } 11:00:07.212 [debug] Widget Message: Received display data message 102010bc74d64df99437978a0dce9342 11:00:07.213 [debug] Widget Message: WidgetManager: Loading class ErrorWidgetView:@jupyter-widgets/base:2.0.0 11:00:07.217 [debug] Widget Message: WidgetManager: Loading class LayoutView:@jupyter-widgets/base:2.0.0 11:00:56.066 [debug] Executing silently Code (idle) = def _VSCODE_getVariable(what_to_get, is_debugging, *args):\n# Query Jupyter server for the info a 11:00:56.071 [debug] Executing silently Code (idle) = def _VSCODE_getVariable(what_to_get, is_debugging, *args):\n# Query Jupyter server for the info a 11:00:56.253 [debug] Executing silently Code (completed) = def _VSCODE_getVariable(what_to_get, is_debugging, *args):\n# Query Jupyter server for the info a with 1 output(s) 11:00:56.292 [debug] Executing silently Code (completed) = def _VSCODE_getVariable(what_to_get, is_debugging, *args):\n# Query Jupyter server for the info a with 1 output(s) 11:01:14.273 [debug] HttpClient - Failure checking for file https://cdn.jsdelivr.net/npm/@finos/perspective-jupyterlab: FetchError: request to https://cdn.jsdelivr.net/npm/@finos/perspective-jupyterlab failed, reason: connect ETIMEDOUT 104.16.87.20:443 11:01:14.274 [debug] HttpClient - Failure checking for file https://unpkg.com/@finos/perspective-jupyterlab: FetchError: request to https://unpkg.com/@finos/perspective-jupyterlab failed, reason: connect ETIMEDOUT 104.16.122.175:443 11:01:14.528 [debug] HttpClient - Failure checking for file https://cdn.jsdelivr.net/npm/@finos/perspective-jupyterlab@~2.9.0/dist/index.js: FetchError: request to https://cdn.jsdelivr.net/npm/@finos/perspective-jupyterlab@~2.9.0/dist/index.js failed, reason: connect ETIMEDOUT 104.16.89.20:443 11:01:14.529 [debug] HttpClient - Failure checking for file https://unpkg.com/@finos/perspective-jupyterlab@~2.9.0/dist/index: FetchError: request to https://unpkg.com/@finos/perspective-jupyterlab@~2.9.0/dist/index failed, reason: connect ETIMEDOUT 104.16.123.175:443 11:01:14.529 [error] Widget Script @finos/perspective-jupyterlab#~2.9.0 was not found on on any cdn 11:01:14.530 [warn] Widget Script Source not found for @finos/perspective-jupyterlab@~2.9.0 from cdn 11:01:14.531 [warn] Widget Script Source not found for @finos/perspective-jupyterlab@~2.9.0 from local 11:01:14.531 [error] Script source for Widget @finos/perspective-jupyterlab@~2.9.0 not found in cdn, local 11:01:14.531 [info] Script for @finos/perspective-jupyterlab, is undefined from undefined 11:01:14.581 [debug] Widget Message: Received IPyWidget scripts [{"moduleName":"@finos/perspective-jupyterlab"}] ```
DonJayamanne commented 3 months ago

The problem is not remote SSH, perspective widget does not load even in local desktop. I assumed that it works for desktop and only fails in remote SSH, However thats not the case