jupyterhub / jupyter-server-proxy

Jupyter notebook server extension to proxy web services.
https://jupyter-server-proxy.readthedocs.io
BSD 3-Clause "New" or "Revised" License
354 stars 147 forks source link

Version 4.0.0 breaks SageMaker Studio environment #404

Open tonyszhang opened 1 year ago

tonyszhang commented 1 year ago

Bug description

Inside of the AWS SageMaker Studio environment, the default version of jupyter-server-proxy is 3.2.1 (3.2.2. also works). Upon running conda activate studio and pip install jupyter-server-proxy==4.0.0, and reloading the browser on path /jupyter/default/lab?, the home button disappears.

Expected behaviour

No change in the UI of SageMaker Studio

Actual behaviour

Studio Home button and Launcher are broken.

How to reproduce

  1. Create SageMaker Studio Domain
  2. Create SageMaker Studio user profile
  3. Launch JupyterServer app default (using JupyterLab v3)
  4. Open Terminal
  5. conda activate studio
  6. pip install jupyter-server-proxy=4.0.0
  7. restart-jupyter-server
  8. Reload your browser

Your personal set up

Full environment ``` # paste output of `pip freeze` or `conda list` here aiobotocore @ file:///home/conda/feedstock_root/build_artifacts/aiobotocore_1646437311283/work aiofiles==22.1.0 aiohttp @ file:///home/conda/feedstock_root/build_artifacts/aiohttp_1649013154501/work aioitertools @ file:///home/conda/feedstock_root/build_artifacts/aioitertools_1645842629199/work aiosignal @ file:///home/conda/feedstock_root/build_artifacts/aiosignal_1636093929600/work aiosqlite==0.19.0 amzn-aws-hil-axis-jupyter-lab-extension==5.0.8 amzn-sagemaker-ui @ file:///home/sagemaker-user/tmp/build-deps/amzn_sagemaker_ui-5.1006.7.tar.gz amzn-sagemaker-ui-canvas-collaboration-proxy @ file:///home/sagemaker-user/tmp/build-deps/amzn_sagemaker_ui_canvas_collaboration_proxy/amzn_sagemaker_ui_canvas_collaboration_proxy-0.0.0-py3-none-any.whl amzn-sagemaker-ui-theme-dark-jupyterlab @ file:///home/sagemaker-user/tmp/build-deps/amzn_sagemaker_ui_theme_dark_jupyterlab-5.1006.7.tar.gz amzn.map-sdk==1.5.1 anyio @ file:///home/conda/feedstock_root/build_artifacts/anyio_1641898043316/work/dist appnope==0.1.2 argon2-cffi @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi_1640817743617/work argon2-cffi-bindings @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi-bindings_1666850859330/work arrow==1.2.3 asttokens @ file:///home/conda/feedstock_root/build_artifacts/asttokens_1618968359944/work async-timeout @ file:///home/conda/feedstock_root/build_artifacts/async-timeout_1640026696943/work asynctest==0.13.0 attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1640799537051/work aws-embedded-metrics==1.0.8 aws-jupyter-proxy==0.3.7 awscli @ file:///home/conda/feedstock_root/build_artifacts/awscli_1639469227229/work Babel @ file:///home/conda/feedstock_root/build_artifacts/babel_1667688356751/work backcall @ file:///home/conda/feedstock_root/build_artifacts/backcall_1592338393461/work backports.functools-lru-cache @ file:///home/conda/feedstock_root/build_artifacts/backports.functools_lru_cache_1618230623929/work beautifulsoup4 @ file:///home/conda/feedstock_root/build_artifacts/beautifulsoup4_1631087867185/work black==22.1.0 bleach @ file:///home/conda/feedstock_root/build_artifacts/bleach_1629908509068/work boto3==1.20.24 botocore @ file:///home/conda/feedstock_root/build_artifacts/botocore_1639449679425/work brotlipy @ file:///home/conda/feedstock_root/build_artifacts/brotlipy_1666764672617/work certifi==2022.6.15 cffi @ file:///home/conda/feedstock_root/build_artifacts/cffi_1636046055389/work charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1644853463426/work click==8.0.4 colorama==0.4.3 croniter==1.3.14 cryptography @ file:///croot/cryptography_1677533068310/work debugpy @ file:///home/conda/feedstock_root/build_artifacts/debugpy_1649574335567/work decorator @ file:///home/conda/feedstock_root/build_artifacts/decorator_1641555617451/work defusedxml @ file:///home/conda/feedstock_root/build_artifacts/defusedxml_1615232257335/work docutils @ file:///home/conda/feedstock_root/build_artifacts/docutils_1667993613355/work dparse @ file:///home/conda/feedstock_root/build_artifacts/dparse_1660096996136/work entrypoints @ file:///home/conda/feedstock_root/build_artifacts/entrypoints_1643888246732/work executing @ file:///home/conda/feedstock_root/build_artifacts/executing_1646044401614/work fastjsonschema @ file:///home/conda/feedstock_root/build_artifacts/python-fastjsonschema_1641751198313/work/dist flit_core @ file:///home/conda/feedstock_root/build_artifacts/flit-core_1645629044586/work/source/flit_core fqdn==1.5.1 frozenlist @ file:///home/conda/feedstock_root/build_artifacts/frozenlist_1648771673823/work fsspec==2022.2.0 geojson-pydantic==0.4.3 gitdb @ file:///home/conda/feedstock_root/build_artifacts/gitdb_1635085722655/work GitPython @ file:///home/conda/feedstock_root/build_artifacts/gitpython_1672338156505/work greenlet==2.0.2 idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1642433548627/work importlib-metadata==4.11.2 importlib-resources @ file:///home/conda/feedstock_root/build_artifacts/importlib_resources_1649682376682/work iniconfig==1.1.1 ipykernel==6.9.2 ipython==8.1.1 ipython-genutils==0.2.0 ipywidgets @ file:///home/conda/feedstock_root/build_artifacts/ipywidgets_1647456365981/work isoduration==20.11.0 jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1659959867326/work Jinja2 @ file:///home/conda/feedstock_root/build_artifacts/jinja2_1648299710939/work jmespath @ file:///home/conda/feedstock_root/build_artifacts/jmespath_1589369830981/work json5==0.9.6 jsonpointer==2.3 jsonschema @ file:///home/conda/feedstock_root/build_artifacts/jsonschema-meta_1669810440410/work jupyter-client==7.1.2 jupyter-core==4.9.2 jupyter-events==0.5.0 jupyter-server @ file:///home/conda/feedstock_root/build_artifacts/jupyter_server_1668451283216/work jupyter-server-mathjax @ file:///home/conda/feedstock_root/build_artifacts/jupyter-server-mathjax_1645541128695/work jupyter-server-proxy==3.2.2 jupyter-telemetry==0.1.0 jupyter-ui-poll==0.2.2 jupyter-ydoc==0.2.2 jupyter_scheduler==1.1.4 jupyter_server_fileid==0.6.0 jupyter_server_terminals==0.4.0 jupyter_server_ydoc==0.6.1 jupyterlab==3.6.1 jupyterlab-git @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab-git_1671178507108/work jupyterlab-pygments @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_pygments_1601375948261/work jupyterlab-widgets @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_widgets_1647446862951/work jupyterlab_server @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_server_1673884094295/work lxml @ file:///home/conda/feedstock_root/build_artifacts/lxml_1656759371916/work MarkupSafe @ file:///home/conda/feedstock_root/build_artifacts/markupsafe_1666770186597/work matplotlib-inline @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-inline_1631080358261/work mistune @ file:///home/conda/feedstock_root/build_artifacts/mistune_1673904152039/work multidict @ file:///home/conda/feedstock_root/build_artifacts/multidict_1666830118937/work mypy-extensions==0.4.3 nbclassic @ file:///home/conda/feedstock_root/build_artifacts/nbclassic_1665581014136/work nbclient @ file:///home/conda/feedstock_root/build_artifacts/nbclient_1646999386773/work nbconvert @ file:///home/conda/feedstock_root/build_artifacts/nbconvert-meta_1660222578365/work nbdime @ file:///home/conda/feedstock_root/build_artifacts/nbdime_1635269257164/work nbformat @ file:///home/conda/feedstock_root/build_artifacts/nbformat_1649105480291/work nest-asyncio==1.5.4 notebook @ file:///home/conda/feedstock_root/build_artifacts/notebook_1647377876077/work notebook-shim @ file:///home/conda/feedstock_root/build_artifacts/notebook-shim_1646330736330/work packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1637239678211/work pandocfilters @ file:///home/conda/feedstock_root/build_artifacts/pandocfilters_1631603243851/work parso @ file:///home/conda/feedstock_root/build_artifacts/parso_1638334955874/work pathspec==0.9.0 pexpect @ file:///home/conda/feedstock_root/build_artifacts/pexpect_1667297516076/work pickleshare @ file:///home/conda/feedstock_root/build_artifacts/pickleshare_1602536217715/work pkgutil_resolve_name @ file:///home/conda/feedstock_root/build_artifacts/pkgutil-resolve-name_1633981968097/work platformdirs==2.5.1 pluggy==1.0.0 prometheus-client==0.13.1 prompt-toolkit==3.0.28 psutil @ file:///home/conda/feedstock_root/build_artifacts/psutil_1648872973590/work ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1609419310487/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl pure-eval @ file:///home/conda/feedstock_root/build_artifacts/pure_eval_1642875951954/work py==1.11.0 pyasn1==0.4.8 pycosat @ file:///home/conda/feedstock_root/build_artifacts/pycosat_1649384802055/work pycparser @ file:///home/conda/feedstock_root/build_artifacts/pycparser_1636257122734/work pydantic==1.10.2 Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1641580240686/work pyOpenSSL @ file:///home/conda/feedstock_root/build_artifacts/pyopenssl_1672659226110/work pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1642753572664/work pyrsistent @ file:///home/conda/feedstock_root/build_artifacts/pyrsistent_1666783655732/work PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1661604839144/work pytest==7.0.1 python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1626286286081/work python-json-logger==2.0.2 pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1647961439546/work PyYAML @ file:///home/conda/feedstock_root/build_artifacts/pyyaml_1668001474438/work pyzmq @ file:///home/conda/feedstock_root/build_artifacts/pyzmq_1649055645150/work requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1680286922386/work rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rsa @ file:///home/conda/feedstock_root/build_artifacts/rsa_1614171254180/work ruamel-yaml-conda @ file:///home/conda/feedstock_root/build_artifacts/ruamel_yaml_1666819784739/work ruamel.yaml==0.17.21 ruamel.yaml.clib==0.2.6 s3fs==2022.2.0 s3transfer @ file:///home/conda/feedstock_root/build_artifacts/s3transfer_1645745825648/work safety @ file:///home/conda/feedstock_root/build_artifacts/safety_1610743857493/work sagemaker-datawrangler==0.3.11 sagemaker-datawrangler-discovery==0.2.0 sagemaker-jupyter-server-tools @ file:///home/sagemaker-user/tmp/build-deps/sagemaker-jupyter-server-tools-1.0.tar.gz sagemaker-nb2kg @ file:///home/sagemaker-user/tmp/build-deps/sagemaker_nb2kg-0.1.tar.gz sagemaker-scheduling @ file:///home/sagemaker-user/tmp/build-deps/sagemaker_scheduling-0.1.tar.gz sagemaker-sharing @ file:///home/sagemaker-user/tmp/build-deps/sagemaker_sharing-0.1.tar.gz sagemaker-ui-proxy @ file:///home/sagemaker-user/tmp/build-deps/sagemaker_ui_proxy-5.1006.7.tar.gz Send2Trash @ file:///home/conda/feedstock_root/build_artifacts/send2trash_1628511208346/work simpervisor==0.4 six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work smmap @ file:///home/conda/feedstock_root/build_artifacts/smmap_1611376390914/work sniffio @ file:///home/conda/feedstock_root/build_artifacts/sniffio_1648819188507/work soupsieve @ file:///home/conda/feedstock_root/build_artifacts/soupsieve_1638550740809/work SQLAlchemy==1.4.47 stack-data @ file:///home/conda/feedstock_root/build_artifacts/stack_data_1644872665635/work supervisor==4.2.4 terminado @ file:///home/conda/feedstock_root/build_artifacts/terminado_1649103779998/work testpath @ file:///home/conda/feedstock_root/build_artifacts/testpath_1645693042223/work tinycss2 @ file:///home/conda/feedstock_root/build_artifacts/tinycss2_1666100256010/work toml @ file:///home/conda/feedstock_root/build_artifacts/toml_1604308577558/work tomli==2.0.1 tornado @ file:///home/conda/feedstock_root/build_artifacts/tornado_1648827245914/work tqdm @ file:///home/conda/feedstock_root/build_artifacts/tqdm_1648096753605/work traitlets==5.2.2.post1 typed-ast==1.5.2 typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1644850595256/work uri-template==1.2.0 urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1647489083693/work wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1600965781394/work webcolors==1.13 webencodings==0.5.1 websocket-client==1.3.1 websockets==9.1 widgetsnbextension @ file:///home/conda/feedstock_root/build_artifacts/widgetsnbextension_1655920141589/work wrapt @ file:///home/conda/feedstock_root/build_artifacts/wrapt_1649093994547/work y-py==0.5.9 yarl @ file:///home/conda/feedstock_root/build_artifacts/yarl_1648966524636/work ypy-websocket==0.8.2 zipp==3.8.0 ```
Configuration ```python # jupyterhub_config.py ```
Logs ``` # paste relevant logs here, if any ```
welcome[bot] commented 1 year ago

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

manics commented 1 year ago

As far as I know there's no easy way to investigate this, so I think any fix will have to be contributed by the community. Alternatively if you've got an AWS support contract it might be worth a ticket to find out what's different between the open-source JupyterLab/notebook/server and SageMaker that could lead to this?