holoviz / panel

Panel: The powerful data exploration & web app framework for Python
https://panel.holoviz.org
BSD 3-Clause "New" or "Revised" License
4.74k stars 516 forks source link

Panel Preview not working: KeyError #7433

Open MarcSkovMadsen opened 1 day ago

MarcSkovMadsen commented 1 day ago

I'm working on upgrading our jupyterhub and Panel. In our existing setup the Jupyter Panel Preview is working. But not in the new setup.

Steps

image

Check the server logs

2024-10-23 11:41:32,007 - ServerApp - ERROR - Uncaught exception GET /mt-fumo/user/masma/panel-preview/render/test.ipynb/ws (10.86.100.104)
HTTPServerRequest(protocol='https', host='mnr-jupyterhub-dev.de-prod.dk', method='GET', uri='/mt-fumo/user/masma/panel-preview/render/test.ipynb/ws', version='HTTP/1.1', remote_ip='10.86.100.104')
Traceback (most recent call last):
  File "/opt/conda/lib/python3.11/site-packages/tornado/websocket.py", line 940, in _accept_connection
    await open_result
  File "/opt/conda/lib/python3.11/site-packages/panel/io/jupyter_server_extension.py", line 392, in open
    kernel_info = state._kernels[self.session_id]
                  ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'XKRUSRxzKSS076zhAKRFPD2dUhH9z29fFg8TLcjZNv9r'
conda list ```bash $ conda list # packages in environment at /opt/conda: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 2_gnu conda-forge aiohappyeyeballs 2.4.3 pyhd8ed1ab_0 conda-forge aiohttp 3.10.10 py311h2dc5d0c_0 conda-forge aiosignal 1.3.1 pyhd8ed1ab_0 conda-forge aiosqlite 0.20.0 pypi_0 pypi alembic 1.13.2 pyhd8ed1ab_0 conda-forge annotated-types 0.7.0 pyhd8ed1ab_0 conda-forge anyio 4.4.0 pyhd8ed1ab_0 conda-forge archspec 0.2.3 pyhd8ed1ab_0 conda-forge argon2-cffi 23.1.0 pyhd8ed1ab_0 conda-forge argon2-cffi-bindings 21.2.0 py311h459d7ec_4 conda-forge arrow 1.3.0 pyhd8ed1ab_0 conda-forge artifacts-keyring 0.4.0 pypi_0 pypi asttokens 2.4.1 pyhd8ed1ab_0 conda-forge async-lru 2.0.4 pyhd8ed1ab_0 conda-forge async_generator 1.10 pyhd8ed1ab_1 conda-forge attrs 24.2.0 pyh71513ae_0 conda-forge aw-kubernetes 0.4.6 pypi_0 pypi babel 2.14.0 pyhd8ed1ab_0 conda-forge backports-tarfile 1.2.0 pypi_0 pypi beautifulsoup4 4.12.3 pyha770c72_0 conda-forge bleach 6.1.0 pyhd8ed1ab_0 conda-forge blinker 1.8.2 pyhd8ed1ab_0 conda-forge bokeh 3.6.0 pyhd8ed1ab_0 conda-forge boltons 24.0.0 pyhd8ed1ab_0 conda-forge brotli-python 1.1.0 py311hb755f60_1 conda-forge bzip2 1.0.8 h4bc722e_7 conda-forge c-ares 1.33.1 heb4867d_0 conda-forge ca-certificates 2024.8.30 hbcca054_0 conda-forge cached-property 1.5.2 hd8ed1ab_1 conda-forge cached_property 1.5.2 pyha770c72_1 conda-forge cachetools 5.5.0 pypi_0 pypi certifi 2024.8.30 pyhd8ed1ab_0 conda-forge certipy 0.1.3 pyhd8ed1ab_1 conda-forge cffi 1.17.0 py311ha8e6434_0 conda-forge charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge click 8.1.7 pypi_0 pypi cloudpickle 3.1.0 pypi_0 pypi colorama 0.4.6 pyhd8ed1ab_0 conda-forge comm 0.2.2 pyhd8ed1ab_0 conda-forge conda 24.7.1 py311h38be061_0 conda-forge conda-libmamba-solver 24.9.0 pyhd8ed1ab_0 conda-forge conda-package-handling 2.3.0 pyh7900ff3_0 conda-forge conda-package-streaming 0.10.0 pyhd8ed1ab_0 conda-forge configurable-http-proxy 4.6.2 hbf95b10_1 conda-forge contourpy 1.3.0 py311hd18a35c_2 conda-forge cryptography 43.0.0 py311hc6616f6_0 conda-forge dask 2024.10.0 pypi_0 pypi dataclasses-json 0.6.7 pypi_0 pypi debugpy 1.8.5 py311hf86e51f_0 conda-forge decorator 5.1.1 pyhd8ed1ab_0 conda-forge deepmerge 2.0 pypi_0 pypi defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge distributed 2024.10.0 pypi_0 pypi distro 1.9.0 pyhd8ed1ab_0 conda-forge entrypoints 0.4 pyhd8ed1ab_0 conda-forge exceptiongroup 1.2.2 pyhd8ed1ab_0 conda-forge executing 2.0.1 pyhd8ed1ab_0 conda-forge faiss-cpu 1.8.0 pypi_0 pypi fmt 10.2.1 h00ab1b0_0 conda-forge fqdn 1.5.1 pyhd8ed1ab_0 conda-forge freetype 2.12.1 h267a509_2 conda-forge frozendict 2.4.4 py311h331c9d8_0 conda-forge frozenlist 1.4.1 py311h9ecbd09_1 conda-forge fsspec 2024.10.0 pypi_0 pypi future 0.18.3 pyhd8ed1ab_0 conda-forge git 2.47.0 pl5321h59d505e_0 conda-forge gitdb 4.0.11 pyhd8ed1ab_0 conda-forge gitpython 3.1.43 pyhd8ed1ab_0 conda-forge google-auth 2.35.0 pypi_0 pypi greenlet 3.0.3 py311hb755f60_0 conda-forge h11 0.14.0 pyhd8ed1ab_0 conda-forge h2 4.1.0 pyhd8ed1ab_0 conda-forge hpack 4.0.0 pyh9f0ad1d_0 conda-forge httpcore 1.0.5 pyhd8ed1ab_0 conda-forge httpx 0.27.0 pyhd8ed1ab_0 conda-forge hyperframe 6.0.1 pyhd8ed1ab_0 conda-forge icu 75.1 he02047a_0 conda-forge idna 3.8 pyhd8ed1ab_0 conda-forge importlib-metadata 8.4.0 pyha770c72_0 conda-forge importlib_metadata 8.4.0 hd8ed1ab_0 conda-forge importlib_resources 6.4.4 pyhd8ed1ab_0 conda-forge ipykernel 6.29.5 pyh3099207_0 conda-forge ipython 8.26.0 pyh707e725_0 conda-forge ipython_genutils 0.2.0 pyhd8ed1ab_1 conda-forge ipywidgets 8.1.5 pyhd8ed1ab_0 conda-forge ipywidgets-bokeh 1.6.0 pypi_0 pypi isoduration 20.11.0 pyhd8ed1ab_0 conda-forge jaraco-classes 3.4.0 pypi_0 pypi jaraco-context 6.0.1 pypi_0 pypi jaraco-functools 4.1.0 pypi_0 pypi jedi 0.19.1 pyhd8ed1ab_0 conda-forge jeepney 0.8.0 pypi_0 pypi jinja2 3.1.4 pyhd8ed1ab_0 conda-forge jiter 0.6.1 pypi_0 pypi json5 0.9.25 pyhd8ed1ab_0 conda-forge jsonpatch 1.33 pyhd8ed1ab_0 conda-forge jsonpath-ng 1.7.0 pypi_0 pypi jsonpointer 3.0.0 py311h38be061_0 conda-forge jsonschema 4.23.0 pyhd8ed1ab_0 conda-forge jsonschema-specifications 2023.12.1 pyhd8ed1ab_0 conda-forge jsonschema-with-format-nongpl 4.23.0 hd8ed1ab_0 conda-forge jupyter-ai 2.26.0 pypi_0 pypi jupyter-ai-magics 2.26.0 pypi_0 pypi jupyter-bokeh 4.0.5 pypi_0 pypi jupyter-lsp 2.2.5 pyhd8ed1ab_0 conda-forge jupyter-server-mathjax 0.2.6 pyh5bfe37b_1 conda-forge jupyter-server-proxy 4.4.0 pyhd8ed1ab_0 conda-forge jupyter-vscode-proxy 0.6 pyhd8ed1ab_0 conda-forge jupyter_client 8.6.2 pyhd8ed1ab_0 conda-forge jupyter_conda 5.2.1 hd8ed1ab_0 conda-forge jupyter_core 5.7.2 py311h38be061_0 conda-forge jupyter_events 0.10.0 pyhd8ed1ab_0 conda-forge jupyter_server 2.14.2 pyhd8ed1ab_0 conda-forge jupyter_server_terminals 0.5.3 pyhd8ed1ab_0 conda-forge jupyterhub 5.2.1 pyh31011fe_0 conda-forge jupyterhub-base 5.2.1 pyh31011fe_0 conda-forge jupyterlab 4.2.5 pyhd8ed1ab_0 conda-forge jupyterlab-git 0.50.1 pyhd8ed1ab_1 conda-forge jupyterlab_pygments 0.3.0 pyhd8ed1ab_1 conda-forge jupyterlab_server 2.27.3 pyhd8ed1ab_0 conda-forge jupyterlab_widgets 3.0.13 pyhd8ed1ab_0 conda-forge keyring 25.4.1 pypi_0 pypi keyutils 1.6.1 h166bdaf_0 conda-forge krb5 1.21.3 h659f571_0 conda-forge kubernetes 22.6.0 pypi_0 pypi langchain 0.2.16 pypi_0 pypi langchain-community 0.2.17 pypi_0 pypi langchain-core 0.2.41 pypi_0 pypi langchain-text-splitters 0.2.4 pypi_0 pypi langsmith 0.1.136 pypi_0 pypi lcms2 2.16 hb7c19ff_0 conda-forge ld_impl_linux-64 2.40 hf3520f5_7 conda-forge lerc 4.0.0 h27087fc_0 conda-forge libarchive 3.7.4 hfca40fe_0 conda-forge libblas 3.9.0 24_linux64_openblas conda-forge libboost 1.86.0 hb8260a3_2 conda-forge libcblas 3.9.0 24_linux64_openblas conda-forge libcurl 8.10.1 hbbe4b11_0 conda-forge libdeflate 1.22 hb9d3cd8_0 conda-forge libedit 3.1.20191231 he28a2e2_2 conda-forge libev 4.33 hd590300_2 conda-forge libexpat 2.6.3 h5888daf_0 conda-forge libffi 3.4.2 h7f98852_5 conda-forge libgcc 14.2.0 h77fa898_1 conda-forge libgcc-ng 14.2.0 h69a702a_1 conda-forge libgfortran 14.2.0 h69a702a_1 conda-forge libgfortran-ng 14.2.0 h69a702a_1 conda-forge libgfortran5 14.2.0 hd5240d6_1 conda-forge libgomp 14.2.0 h77fa898_1 conda-forge libiconv 1.17 hd590300_2 conda-forge libjpeg-turbo 3.0.0 hd590300_1 conda-forge liblapack 3.9.0 24_linux64_openblas conda-forge libmamba 1.5.8 had39da4_0 conda-forge libmambapy 1.5.8 py311hf2555c7_0 conda-forge libnghttp2 1.58.0 h47da74e_1 conda-forge libnsl 2.0.1 hd590300_0 conda-forge libopenblas 0.3.27 pthreads_hac2b453_1 conda-forge libpng 1.6.44 hadc24fc_0 conda-forge libsodium 1.0.18 h36c2ea0_1 conda-forge libsolv 0.7.30 h3509ff9_0 conda-forge libsqlite 3.46.0 hde9e2c9_0 conda-forge libssh2 1.11.0 h0841786_0 conda-forge libstdcxx 14.2.0 hc0a3c3a_1 conda-forge libstdcxx-ng 14.2.0 h4852527_1 conda-forge libtiff 4.7.0 he137b08_1 conda-forge libuuid 2.38.1 h0b41bf4_0 conda-forge libuv 1.48.0 hd590300_0 conda-forge libwebp-base 1.4.0 hd590300_0 conda-forge libxcb 1.17.0 h8a09558_0 conda-forge libxcrypt 4.4.36 hd590300_1 conda-forge libxml2 2.12.7 he7c6b58_4 conda-forge libzlib 1.3.1 h4ab18f5_1 conda-forge linkify-it-py 2.0.3 pyhd8ed1ab_0 conda-forge locket 1.0.0 pypi_0 pypi lz4-c 1.9.4 hcb278e6_0 conda-forge lzo 2.10 hd590300_1001 conda-forge mako 1.3.5 pyhd8ed1ab_0 conda-forge mamba 1.5.8 py311h3072747_0 conda-forge mamba_gator 5.2.1 pyhd8ed1ab_0 conda-forge markdown 3.6 pyhd8ed1ab_0 conda-forge markdown-it-py 3.0.0 pyhd8ed1ab_0 conda-forge markupsafe 2.1.5 py311h459d7ec_0 conda-forge marshmallow 3.23.0 pypi_0 pypi matplotlib-inline 0.1.7 pyhd8ed1ab_0 conda-forge mdit-py-plugins 0.4.2 pyhd8ed1ab_0 conda-forge mdurl 0.1.2 pyhd8ed1ab_0 conda-forge menuinst 2.1.2 py311h38be061_0 conda-forge mistune 3.0.2 pyhd8ed1ab_0 conda-forge more-itertools 10.5.0 pypi_0 pypi msgpack 1.1.0 pypi_0 pypi multidict 6.1.0 py311h2dc5d0c_1 conda-forge mypy-extensions 1.0.0 pypi_0 pypi nb_conda_kernels 2.5.1 pyh707e725_2 conda-forge nbclassic 1.1.0 pyhd8ed1ab_0 conda-forge nbclient 0.10.0 pyhd8ed1ab_0 conda-forge nbconvert 7.16.4 hd8ed1ab_1 conda-forge nbconvert-core 7.16.4 pyhd8ed1ab_1 conda-forge nbconvert-pandoc 7.16.4 hd8ed1ab_1 conda-forge nbdime 4.0.2 pyhd8ed1ab_0 conda-forge nbformat 5.10.4 pyhd8ed1ab_0 conda-forge ncurses 6.5 he02047a_1 conda-forge nest-asyncio 1.6.0 pyhd8ed1ab_0 conda-forge nodeenv 1.9.1 pyhd8ed1ab_0 conda-forge nodejs 22.7.0 hf235a45_0 conda-forge notebook 7.2.1 pyhd8ed1ab_0 conda-forge notebook-shim 0.2.4 pyhd8ed1ab_0 conda-forge numpy 1.26.4 py311h64a7726_0 conda-forge oauthlib 3.2.2 pyhd8ed1ab_0 conda-forge openai 1.52.0 pypi_0 pypi openjpeg 2.5.2 h488ebb8_0 conda-forge openssl 3.3.2 hb9d3cd8_0 conda-forge orjson 3.10.9 pypi_0 pypi overrides 7.7.0 pyhd8ed1ab_0 conda-forge packaging 24.1 pyhd8ed1ab_0 conda-forge pamela 1.2.0 pyhff2d567_0 conda-forge pandas 2.2.3 py311h7db5c69_1 conda-forge pandoc 3.5 ha770c72_0 conda-forge pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge panel 1.5.2 pyhd8ed1ab_0 conda-forge param 2.1.1 pyhff2d567_0 conda-forge parso 0.8.4 pyhd8ed1ab_0 conda-forge partd 1.4.2 pypi_0 pypi pcre2 10.44 hba22ea6_2 conda-forge perl 5.32.1 7_hd590300_perl5 conda-forge perspective 2.10.1 py311h26fe663_4 conda-forge perspective-parquet 0.1.2 pyhff2d567_1 conda-forge perspective_parquet 0.1.2 pyh80e38bb_1 conda-forge pexpect 4.9.0 pyhd8ed1ab_0 conda-forge pickleshare 0.7.5 py_1003 conda-forge pillow 11.0.0 py311h49e9ac3_0 conda-forge pip 24.2 pyh8b19718_1 conda-forge pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge platformdirs 4.2.2 pyhd8ed1ab_0 conda-forge plotly 5.24.1 pyhd8ed1ab_0 conda-forge pluggy 1.5.0 pyhd8ed1ab_0 conda-forge ply 3.11 pypi_0 pypi prometheus_client 0.20.0 pyhd8ed1ab_0 conda-forge prompt-toolkit 3.0.47 pyha770c72_0 conda-forge propcache 0.2.0 py311h9ecbd09_2 conda-forge psutil 6.0.0 py311h331c9d8_0 conda-forge pthread-stubs 0.4 hb9d3cd8_1002 conda-forge ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge pure_eval 0.2.3 pyhd8ed1ab_0 conda-forge pyasn1 0.6.1 pypi_0 pypi pyasn1-modules 0.4.1 pypi_0 pypi pybind11-abi 4 hd8ed1ab_3 conda-forge pycosat 0.6.6 py311h459d7ec_0 conda-forge pycparser 2.22 pyhd8ed1ab_0 conda-forge pycurl 7.45.3 py311h3393d6f_1 conda-forge pydantic 2.8.2 pyhd8ed1ab_0 conda-forge pydantic-core 2.20.1 py311hb3a8bbb_0 conda-forge pygments 2.18.0 pyhd8ed1ab_0 conda-forge pyjwt 2.9.0 pyhd8ed1ab_1 conda-forge pyopenssl 24.2.1 pyhd8ed1ab_2 conda-forge pyright 1.1.384 py311h9ecbd09_0 conda-forge pysocks 1.7.1 pyha2e5f31_6 conda-forge python 3.11.9 hb806964_0_cpython conda-forge python-dateutil 2.9.0 pyhd8ed1ab_0 conda-forge python-fastjsonschema 2.20.0 pyhd8ed1ab_0 conda-forge python-json-logger 2.0.7 pyhd8ed1ab_0 conda-forge python-tzdata 2024.2 pyhd8ed1ab_0 conda-forge python_abi 3.11 5_cp311 conda-forge pytoolconfig 1.2.5 pyhd8ed1ab_0 conda-forge pytz 2024.1 pyhd8ed1ab_0 conda-forge pyviz_comms 3.0.3 pyhd8ed1ab_0 conda-forge pyyaml 6.0.2 py311h61187de_0 conda-forge pyzmq 26.2.0 py311h7deb3e3_0 conda-forge readline 8.2 h8228510_1 conda-forge referencing 0.35.1 pyhd8ed1ab_0 conda-forge reproc 14.2.4.post0 hd590300_1 conda-forge reproc-cpp 14.2.4.post0 h59595ed_1 conda-forge requests 2.32.3 pyhd8ed1ab_0 conda-forge requests-oauthlib 2.0.0 pypi_0 pypi requests-toolbelt 1.0.0 pypi_0 pypi rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge rfc3986-validator 0.1.1 pyh9f0ad1d_0 conda-forge rope 1.13.0 pyhd8ed1ab_0 conda-forge rpds-py 0.20.0 py311hb3a8bbb_0 conda-forge rsa 4.9 pypi_0 pypi ruamel.yaml 0.18.6 py311h459d7ec_0 conda-forge ruamel.yaml.clib 0.2.8 py311h459d7ec_0 conda-forge secretstorage 3.3.3 pypi_0 pypi send2trash 1.8.3 pyh0d859eb_0 conda-forge setuptools 72.2.0 pyhd8ed1ab_0 conda-forge simpervisor 1.0.0 pyhd8ed1ab_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge smmap 5.0.0 pyhd8ed1ab_0 conda-forge sniffio 1.3.1 pyhd8ed1ab_0 conda-forge sortedcontainers 2.4.0 pypi_0 pypi soupsieve 2.5 pyhd8ed1ab_1 conda-forge sqlalchemy 2.0.32 py311h61187de_0 conda-forge stack_data 0.6.2 pyhd8ed1ab_0 conda-forge tblib 3.0.0 pypi_0 pypi tenacity 8.5.0 pypi_0 pypi terminado 0.18.1 pyh0d859eb_0 conda-forge tinycss2 1.3.0 pyhd8ed1ab_0 conda-forge tk 8.6.13 noxft_h4845f30_101 conda-forge tomli 2.0.1 pyhd8ed1ab_0 conda-forge toolz 1.0.0 pypi_0 pypi tornado 6.4.1 py311h331c9d8_0 conda-forge tqdm 4.66.5 pyhd8ed1ab_0 conda-forge traitlets 5.14.3 pyhd8ed1ab_0 conda-forge truststore 0.8.0 pyhd8ed1ab_0 conda-forge types-python-dateutil 2.9.0.20240821 pyhd8ed1ab_0 conda-forge typing-extensions 4.12.2 hd8ed1ab_0 conda-forge typing-inspect 0.9.0 pypi_0 pypi typing_extensions 4.12.2 pyha770c72_0 conda-forge typing_utils 0.1.0 pyhd8ed1ab_0 conda-forge tzdata 2024a h0c530f3_0 conda-forge uc-micro-py 1.0.3 pyhd8ed1ab_0 conda-forge uri-template 1.3.0 pyhd8ed1ab_0 conda-forge urllib3 2.2.2 pyhd8ed1ab_1 conda-forge uv 0.4.25 pypi_0 pypi voila 0.5.8 pyhd8ed1ab_1 conda-forge watchfiles 0.24.0 pypi_0 pypi wcwidth 0.2.13 pyhd8ed1ab_0 conda-forge webcolors 24.8.0 pyhd8ed1ab_0 conda-forge webencodings 0.5.1 pyhd8ed1ab_2 conda-forge websocket-client 1.8.0 pyhd8ed1ab_0 conda-forge websockets 13.1 py311h9ecbd09_0 conda-forge wheel 0.44.0 pyhd8ed1ab_0 conda-forge widgetsnbextension 4.0.13 pyhd8ed1ab_0 conda-forge xorg-libxau 1.0.11 hb9d3cd8_1 conda-forge xorg-libxdmcp 1.1.5 hb9d3cd8_0 conda-forge xyzservices 2024.9.0 pyhd8ed1ab_0 conda-forge xz 5.2.6 h166bdaf_0 conda-forge yaml 0.2.5 h7f98852_2 conda-forge yaml-cpp 0.8.0 h59595ed_0 conda-forge yarl 1.15.5 py311h9ecbd09_0 conda-forge zeromq 4.3.5 h75354e8_4 conda-forge zict 3.0.0 pypi_0 pypi zipp 3.20.0 pyhd8ed1ab_0 conda-forge zlib 1.3.1 h4ab18f5_1 conda-forge zstandard 0.23.0 py311h5cd10c7_0 conda-forge zstd 1.5.6 ha6fb4c9_0 conda-forge ```

Additional Context

I'm told there is also a xrsf cookie issue https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/3422. I don't know if its related.

philippjfr commented 1 day ago

Reading the code I really struggle to see how this is possible UNLESS the websocket connection takes >30 seconds to open. Can you confirm how quickly this happens?

MarcSkovMadsen commented 1 day ago

Thanks so much for responding. The preview opens and closes the web socket almost instantanously.

https://github.com/user-attachments/assets/8f481b01-1404-4160-9527-4fc3eeab915f

MarcSkovMadsen commented 1 day ago

I looked at recent changes in jupyter_server_extension.py

image

image

Could any of these two changes cause this on a Jupyterhub where things are running behind a reverse proxy?

MarcSkovMadsen commented 1 day ago

FORGET THIS COMMENT. IF THE EXCEPTIONS ARE RAISED THEN LINE 392 WILL NEVER BE REACHED.

As I see it self.close() must have run for some unknown reason:

image

Would be nice of the ProtocolErrors where logged.

MarcSkovMadsen commented 1 day ago

Right now my hypothesis is that token/ session_id is not valid due to the xrsf cookie issue https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/3422 mentioned.

philippjfr commented 1 day ago

I'm fairly certain those are unrelated issues, the token is transmitted as part of the websocket headers so that seems unlikely to be affected by any cookie issues. Also the token clearly can be decoded since it doesn't error on the get_session_id call.

MarcSkovMadsen commented 1 day ago

I'm fairly certain those are unrelated issues, the token is transmitted as part of the websocket headers so that seems unlikely to be affected by any cookie issues. Also the token clearly can be decoded since it doesn't error on the get_session_id call.

My understanding from reading the issue is that it is in fact a headers issue.

image

I just do not understand if its causing this issue.

MarcSkovMadsen commented 23 hours ago

FYI. It works locally in a fresh pip install panel jupyterlab environment on my windows laptop:

image

MarcSkovMadsen commented 18 hours ago

An additional comment is that we've mixed a helm chart v 3.3.8 for installing Jupyterhub App. version 4.1.6 with installing the jupyterhub 5.2.1 python package. We will try to align these.

MP-MaximilianLattka commented 14 hours ago

As a sidenote, keep in mind that the Preview feature is also broken with notifications turned on:

https://github.com/holoviz/panel/issues/7380