jupyterlab / jupyterlab-desktop

JupyterLab desktop application, based on Electron.
BSD 3-Clause "New" or "Revised" License
3.66k stars 350 forks source link

cannot open directory containing certain files #364

Closed ptoche closed 2 years ago

ptoche commented 2 years ago

Not sure how reproducible this is. Perhaps it's a safety feature of some kind. At any rate, for the record here's what's happening on my system (MacOS Big Sur, JupyterLab 3.2.4-3):

Reproduce: Attempt to navigate (from the left-hand side navigation tab in JupyterLab) to a directory containing a file named jupytext.toml with the following content:

"""
comment
"""

Expected result: Directory opens and file content can be viewed.

Actual result: JupyterLab does not open the directory whose icon becomes white instead of dark gray, and remains in an "unclickable" state from then on. Once JupyterLab refuses to open the directory, it needs to be restarted to open the directory again, even if the offending file is removed from the directory.

In an experiment I did not observe the problem when the same file was renamed test.toml, after restarting JupyterLab. Also did not observe the problem when the content between the triple quote-marks was removed, after restarting JupyterLab.

welcome[bot] commented 2 years 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:

krassowski commented 2 years ago

Thank you for opening the issue. Do you have jupytext extension installed? It looks like a potential issue with jupytext extension installation, not with JupyterLab Desktop.

The bug report template that you went through asks for logs from main.log file. Please include this along with Troubleshoot Output and Browser Output section.

ptoche commented 2 years ago

Thanks. I do not have the jupytext extension (was planning on installing it though).

MacBook-Pro:username username$ jupyter troubleshoot
WARNING: You are using pip version 21.3; however, version 21.3.1 is available.
You should consider upgrading via the '/Users/username/miniconda3/bin/python -m pip install --upgrade pip' command.

CondaEnvException: Unable to determine environment

Please re-run this command with one of the following options:

* Provide an environment name via --name or -n
* Re-run this command inside an activated conda environment.

$PATH:
        /usr/local/bin
        /usr/bin
        /bin
        /usr/sbin
        /sbin
        /Library/TeX/texbin
        /opt/X11/bin
        /Library/Apple/usr/bin
        /Users/username/miniconda3/envs/vs/
        /Users/username/miniconda3/bin
        /Users/username/miniconda3/condabin
        /Library/Frameworks/Python.framework/Versions/3.9/bin
        /Applications/Julia-1.7.app/Contents/Resources/julia/bin
        /Users/username/R/library
        /Users/username/tex
        /Users/username/R
        /Users/username/Python
        /Users/username/Julia
        /node_modules/.bin
        /Applications/JupyterLab.app/Contents/MacOS

sys.path:
        /Users/username/miniconda3/bin
        /Users/username/miniconda3/lib/python38.zip
        /Users/username/miniconda3/lib/python3.8
        /Users/username/miniconda3/lib/python3.8/lib-dynload
        /Users/username/miniconda3/lib/python3.8/site-packages
        /Users/username/Github/FDIC

sys.executable:
        /Users/username/miniconda3/bin/python

sys.version:
        3.8.12 (default, Oct 12 2021, 06:23:56) 
        [Clang 10.0.0 ]

platform.platform():
        macOS-10.16-x86_64-i386-64bit

which -a jupyter:
        /Users/username/miniconda3/bin/jupyter

pip list:
        Package                Version
        ---------------------- ---------
        anaconda-client        1.9.0
        anaconda-navigator     2.0.4
        anyio                  2.2.0
        appnope                0.1.2
        argon2-cffi            20.1.0
        async-generator        1.10
        attrs                  21.2.0
        Babel                  2.9.1
        backcall               0.2.0
        bleach                 4.0.0
        brotlipy               0.7.0
        certifi                2021.10.8
        cffi                   1.14.6
        chardet                4.0.0
        charset-normalizer     2.0.4
        clyent                 1.2.2
        conda                  4.11.0
        conda-content-trust    0+unknown
        conda-package-handling 1.7.3
        conda-repo-cli         1.0.4
        conda-token            0.3.0
        cryptography           35.0.0
        cycler                 0.11.0
        data-reader            0.0.8
        debugpy                1.5.1
        decorator              5.1.0
        defusedxml             0.7.1
        dnspython              1.16.0
        entrypoints            0.3
        feedparser             6.0.8
        fonttools              4.25.0
        html2text              2020.1.16
        idna                   3.3
        ijson                  3.1.4
        importlib-metadata     4.8.1
        importlib-resources    5.1.4
        ipykernel              6.4.1
        ipython                7.29.0
        ipython-genutils       0.2.0
        ipywidgets             7.6.5
        jedi                   0.18.0
        Jinja2                 3.0.2
        json5                  0.9.6
        jsonschema             3.2.0
        jupyter                1.0.0
        jupyter-client         7.0.6
        jupyter-console        6.4.0
        jupyter-core           4.9.1
        jupyter-server         1.4.1
        jupyterlab             3.2.4
        jupyterlab-pygments    0.1.2
        jupyterlab-server      2.8.2
        jupyterlab-widgets     1.0.0
        kiwisolver             1.3.1
        lxml                   4.6.3
        MarkupSafe             2.0.1
        matplotlib             3.4.2
        matplotlib-inline      0.1.2
        mistune                0.8.4
        mkl-fft                1.3.1
        mkl-random             1.2.2
        mkl-service            2.4.0
        munkres                1.1.4
        mysql-connector-python 8.0.25
        navigator-updater      0.2.1
        nbclassic              0.2.6
        nbclient               0.5.3
        nbconvert              6.1.0
        nbformat               5.1.3
        nest-asyncio           1.5.1
        notebook               6.4.6
        numexpr                2.7.3
        numpy                  1.21.2
        olefile                0.46
        packaging              21.3
        pandas                 1.2.4
        pandas-datareader      0.9.0
        pandocfilters          1.4.3
        parso                  0.8.2
        pexpect                4.8.0
        pickleshare            0.7.5
        Pillow                 8.4.0
        pip                    21.3
        progressbar2           3.55.0
        prometheus-client      0.12.0
        prompt-toolkit         3.0.20
        protobuf               3.16.0
        psutil                 5.8.0
        ptyprocess             0.7.0
        pycosat                0.6.3
        pycparser              2.21
        Pygments               2.10.0
        pyOpenSSL              21.0.0
        pyparsing              3.0.4
        pyrsistent             0.18.0
        PySocks                1.7.1
        python-dateutil        2.8.2
        python-utils           2.5.6
        pytz                   2021.3
        PyYAML                 6.0
        pyzmq                  22.3.0
        qtconsole              5.1.1
        QtPy                   1.10.0
        realpythonpypi-reader  1.0.17
        requests               2.26.0
        ruamel-yaml-conda      0.15.100
        Send2Trash             1.8.0
        setuptools             58.2.0
        sgmllib3k              1.0.0
        six                    1.16.0
        sniffio                1.2.0
        tables                 3.6.1
        terminado              0.9.4
        testpath               0.5.0
        tornado                6.1
        tqdm                   4.62.3
        traitlets              5.1.1
        typing                 3.7.4.3
        urllib3                1.26.7
        wcwidth                0.2.5
        webencodings           0.5.1
        wheel                  0.37.0
        widgetsnbextension     3.5.1
        xmltodict              0.12.0
        xonsh                  0.9.18
        zipp                   3.6.0

conda list:
        # packages in environment at /Users/username/miniconda3:
        #
        # Name                    Version                   Build  Channel
        anaconda-client           1.9.0            py38hecd8cb5_0  
        anaconda-navigator        2.0.4                    py38_0  
        anyio                     2.2.0            py38hecd8cb5_1  
        appnope                   0.1.2           py38hecd8cb5_1001  
        argon2-cffi               20.1.0           py38h9ed2024_1  
        async_generator           1.10               pyhd3eb1b0_0  
        attrs                     21.2.0             pyhd3eb1b0_0  
        babel                     2.9.1              pyhd3eb1b0_0  
        backcall                  0.2.0              pyhd3eb1b0_0  
        blas                      1.0                         mkl  
        bleach                    4.0.0              pyhd3eb1b0_0  
        brotli                    1.0.9                hb1e8313_2  
        brotlipy                  0.7.0           py38h9ed2024_1003  
        bzip2                     1.0.8                h1de35cc_0  
        ca-certificates           2021.10.26           hecd8cb5_2  
        certifi                   2021.10.8        py38hecd8cb5_0  
        cffi                      1.14.6           py38h2125817_0  
        chardet                   4.0.0           py38hecd8cb5_1003  
        charset-normalizer        2.0.4              pyhd3eb1b0_0  
        clyent                    1.2.2                    py38_1  
        conda                     4.11.0           py38h50d1736_0    conda-forge
        conda-content-trust       0.1.1              pyhd3eb1b0_0  
        conda-package-handling    1.7.3            py38h9ed2024_1  
        conda-repo-cli            1.0.4              pyhd3eb1b0_0  
        conda-token               0.3.0              pyhd3eb1b0_0  
        cryptography              35.0.0           py38h2fd3fbb_0  
        cycler                    0.11.0             pyhd3eb1b0_0  
        data-reader               0.0.8                    pypi_0    pypi
        dbus                      1.13.18              h18a8e69_0  
        debugpy                   1.5.1            py38he9d5cce_0  
        decorator                 5.1.0              pyhd3eb1b0_0  
        defusedxml                0.7.1              pyhd3eb1b0_0  
        dnspython                 1.16.0                   py38_0  
        entrypoints               0.3                      py38_0  
        expat                     2.4.1                h23ab428_2  
        feedparser                6.0.8                    pypi_0    pypi
        ffmpeg                    4.2.2                h97e5cf8_0  
        fonttools                 4.25.0             pyhd3eb1b0_0  
        freetype                  2.11.0               hd8bbffd_0  
        gettext                   0.21.0               h7535e17_0  
        giflib                    5.2.1                haf1e3a3_0  
        glib                      2.69.1               hdf23fa2_0  
        gmp                       6.2.1                h23ab428_2  
        gnutls                    3.6.15               hed9c0bf_0  
        html2text                 2020.1.16                pypi_0    pypi
        icu                       58.2                 h0a44026_3  
        idna                      3.3                pyhd3eb1b0_0  
        ijson                     3.1.4                    pypi_0    pypi
        importlib-metadata        4.8.1            py38hecd8cb5_0  
        importlib-resources       5.1.4                    pypi_0    pypi
        importlib_metadata        4.8.1                hd3eb1b0_0  
        intel-openmp              2021.4.0          hecd8cb5_3538  
        ipykernel                 6.4.1            py38hecd8cb5_1  
        ipython                   7.29.0           py38h01d92e1_0  
        ipython_genutils          0.2.0              pyhd3eb1b0_1  
        ipywidgets                7.6.5              pyhd3eb1b0_1  
        jedi                      0.18.0           py38hecd8cb5_1  
        jinja2                    3.0.2              pyhd3eb1b0_0  
        jpeg                      9d                   h9ed2024_0  
        json5                     0.9.6              pyhd3eb1b0_0  
        jsonschema                3.2.0              pyhd3eb1b0_2  
        jupyter                   1.0.0                    py38_7  
        jupyter_client            7.0.6              pyhd3eb1b0_0  
        jupyter_console           6.4.0              pyhd3eb1b0_0  
        jupyter_core              4.9.1            py38hecd8cb5_0  
        jupyter_server            1.4.1            py38hecd8cb5_0  
        jupyterlab                3.2.4              pyhd8ed1ab_0    conda-forge
        jupyterlab_pygments       0.1.2                      py_0  
        jupyterlab_server         2.8.2              pyhd3eb1b0_0  
        jupyterlab_widgets        1.0.0              pyhd3eb1b0_1  
        kiwisolver                1.3.1            py38h23ab428_0  
        lame                      3.100                h1de35cc_0  
        lcms2                     2.12                 hf1fd2bf_0  
        libcxx                    12.0.0               h2f01273_0  
        libffi                    3.3                  hb1e8313_2  
        libiconv                  1.16                 h1de35cc_0  
        libidn2                   2.3.2                h9ed2024_0  
        libopus                   1.3.1                h1de35cc_0  
        libpng                    1.6.37               ha441bb4_0  
        libprotobuf               3.16.0               hcf210ce_0    conda-forge
        libsodium                 1.0.18               h1de35cc_0  
        libtasn1                  4.16.0               h9ed2024_0  
        libtiff                   4.2.0                h87d7836_0  
        libunistring              0.9.10               h9ed2024_0  
        libvpx                    1.7.0                h378b8a2_0  
        libwebp                   1.2.0                hacca55c_0  
        libwebp-base              1.2.0                h9ed2024_0  
        libxml2                   2.9.12               hcdb78fc_0  
        llvm-openmp               12.0.0               h0dcd299_1  
        lxml                      4.6.3                    pypi_0    pypi
        lz4-c                     1.9.3                h23ab428_1  
        markupsafe                2.0.1            py38h9ed2024_0  
        matplotlib                3.4.2            py38hecd8cb5_0  
        matplotlib-base           3.4.2            py38h8b3ea08_0  
        matplotlib-inline         0.1.2              pyhd3eb1b0_2  
        mistune                   0.8.4           py38h1de35cc_1001  
        mkl                       2021.4.0           hecd8cb5_637  
        mkl-service               2.4.0            py38h9ed2024_0  
        mkl_fft                   1.3.1            py38h4ab4a9b_0  
        mkl_random                1.2.2            py38hb2f4e1b_0  
        munkres                   1.1.4                      py_0  
        mysql-common              8.0.25               h694c41f_0    conda-forge
        mysql-connector-python    8.0.25           py38h8d3482a_0    conda-forge
        mysql-libs                8.0.25               h54f5a68_0    conda-forge
        navigator-updater         0.2.1                    py38_0  
        nbclassic                 0.2.6              pyhd3eb1b0_0  
        nbclient                  0.5.3              pyhd3eb1b0_0  
        nbconvert                 6.1.0            py38hecd8cb5_0  
        nbformat                  5.1.3              pyhd3eb1b0_0  
        ncurses                   6.3                  hca72f7f_2  
        nest-asyncio              1.5.1              pyhd3eb1b0_0  
        nettle                    3.7.3                h230ac6f_1  
        notebook                  6.4.6            py38hecd8cb5_0  
        numexpr                   2.7.3                    pypi_0    pypi
        numpy                     1.21.2           py38h4b4dc7a_0  
        numpy-base                1.21.2           py38he0bd621_0  
        olefile                   0.46               pyhd3eb1b0_0  
        openh264                  2.1.0                hd9629dc_0  
        openssl                   1.1.1l               h9ed2024_0  
        packaging                 21.3               pyhd3eb1b0_0  
        pandas                    1.2.4                    pypi_0    pypi
        pandas-datareader         0.9.0                    pypi_0    pypi
        pandocfilters             1.4.3            py38hecd8cb5_1  
        parso                     0.8.2              pyhd3eb1b0_0  
        pcre                      8.45                 h23ab428_0  
        pexpect                   4.8.0              pyhd3eb1b0_3  
        pickleshare               0.7.5           pyhd3eb1b0_1003  
        pillow                    8.4.0            py38h98e4679_0  
        pip                       21.3                     pypi_0    pypi
        progressbar2              3.55.0                   pypi_0    pypi
        prometheus_client         0.12.0             pyhd3eb1b0_0  
        prompt-toolkit            3.0.20             pyhd3eb1b0_0  
        prompt_toolkit            3.0.20               hd3eb1b0_0  
        protobuf                  3.16.0           py38ha048514_0    conda-forge
        psutil                    5.8.0            py38h9ed2024_1  
        ptyprocess                0.7.0              pyhd3eb1b0_2  
        pycosat                   0.6.3            py38h1de35cc_1  
        pycparser                 2.21               pyhd3eb1b0_0  
        pygments                  2.10.0             pyhd3eb1b0_0  
        pyopenssl                 21.0.0             pyhd3eb1b0_1  
        pyparsing                 3.0.4              pyhd3eb1b0_0  
        pyqt                      5.9.2            py38h655552a_2  
        pyrsistent                0.18.0           py38hca72f7f_0  
        pysocks                   1.7.1                    py38_1  
        python                    3.8.12               h88f2d9e_0  
        python-dateutil           2.8.2              pyhd3eb1b0_0  
        python-utils              2.5.6                    pypi_0    pypi
        python.app                3                py38h9ed2024_0  
        python_abi                3.8                      2_cp38    conda-forge
        pytz                      2021.3             pyhd3eb1b0_0  
        pyyaml                    6.0              py38hca72f7f_1  
        pyzmq                     22.3.0           py38he9d5cce_2  
        qt                        5.9.7                h468cd18_1  
        qtconsole                 5.1.1              pyhd3eb1b0_0  
        qtpy                      1.10.0             pyhd3eb1b0_0  
        readline                  8.1                  h9ed2024_0  
        realpythonpypi-reader     1.0.17                   pypi_0    pypi
        requests                  2.26.0             pyhd3eb1b0_0  
        ruamel_yaml               0.15.100         py38h9ed2024_0  
        send2trash                1.8.0              pyhd3eb1b0_1  
        setuptools                58.2.0                   pypi_0    pypi
        sgmllib3k                 1.0.0                    pypi_0    pypi
        sip                       4.19.8           py38h0a44026_0  
        six                       1.16.0             pyhd3eb1b0_0  
        sniffio                   1.2.0            py38hecd8cb5_1  
        sqlite                    3.36.0               hce871da_0  
        tables                    3.6.1                    pypi_0    pypi
        terminado                 0.9.4            py38hecd8cb5_0  
        testpath                  0.5.0              pyhd3eb1b0_0  
        tk                        8.6.11               h7bc2e8c_0  
        tornado                   6.1              py38h9ed2024_0  
        tqdm                      4.62.3             pyhd3eb1b0_1  
        traitlets                 5.1.1              pyhd3eb1b0_0  
        typing                    3.7.4.3                  pypi_0    pypi
        urllib3                   1.26.7             pyhd3eb1b0_0  
        wcwidth                   0.2.5              pyhd3eb1b0_0  
        webencodings              0.5.1                    py38_1  
        wheel                     0.37.0             pyhd3eb1b0_1  
        widgetsnbextension        3.5.1                    py38_0  
        x264                      1!157.20191217       h1de35cc_0  
        xmltodict                 0.12.0             pyhd3eb1b0_0  
        xonsh                     0.9.18                   pypi_0    pypi
        xz                        5.2.5                h1de35cc_0  
        yaml                      0.2.5                haf1e3a3_0  
        zeromq                    4.3.4                h23ab428_0  
        zipp                      3.6.0              pyhd3eb1b0_0  
        zlib                      1.2.11               h1de35cc_3  
        zstd                      1.4.9                h322a384_0
MacBook-Pro:username username$ 
krassowski commented 2 years ago

Hi @ptoche jupyter troubleshoot run this way does not necessarily help - it shows the local environment, which is likely different from what you use in JupyterLab Desktop.

Anyways the more important thing are the logs from main.log and the browser output logs (captured just after reproducing the error). I cannot do anything without those.

ptoche commented 2 years ago

I cannot see the "Developer's console.

<!--Go to `Help` menu -> `Open Developer Console` to access the JavaScript console-->
<!--If you do not see such a menu entry, please try Ctrl + Shift + I, after focusing on JupyterLab file browser-->

I don't see the menu and Ctrl+Shift+I and replacing Ctr with Option and Command produces nothing.

I ran jlab --verbose 4

<!--on macOS: ~/Library/Logs/jupyterlab-desktop/main.log-->

That's empty (I looked inside both the user's library and the global library). Also there's nothing related to JupyterLab in .config.

I set the environment of JupyterLab to a dedicated local environment, which is from where I ran jupyter troubleshooting. Do you want me to run jupyter troubleshoot in some other way?

krassowski commented 2 years ago

That's empty (I looked inside both the user's library and the global library). Also there's nothing related to JupyterLab in .config.

By "empty" do you mean that the file exist and is empty, or that the files does not exist?

I don't see the menu

Do you mean that there is no Help menu? Please see the screenshot below for reference

Screenshot from 2021-12-04 23-10-22

ptoche commented 2 years ago

Oops! I was in the wrong Help menu. The main Help menu is completely empty (the only entry is named "empty"), but the one below it does have the Developer's tools!

Output is copied below. I see the Jupytext extension is mentioned: I had attempted to install that initially before giving up. I thought I'd removed it, but there apparently are remnants. You're right: The issue must stem from the Jupytext extension (even though it failed to install). Would you know how to clean that up? Thanks!

Oh and the other question is: There are no config files at all, the directories are empty or non-existent.

screenshot

electron/js2c/renderer_init.js:13 (electron) The remote module is deprecated. Use https://github.com/electron/remote instead.
log @ electron/js2c/renderer_init.js:13
react-dom.development.js:26244 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtoolsYou might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq
17:00:01.114 › $ref: keywords ignored in schema at path "#/properties/codeCellConfig"
17:00:01.118 › $ref: keywords ignored in schema at path "#/properties/markdownCellConfig"
17:00:01.118 › $ref: keywords ignored in schema at path "#/properties/rawCellConfig"
17:00:01.120 › $ref: keywords ignored in schema at path "#/properties/codeCellConfig"
17:00:01.121 › $ref: keywords ignored in schema at path "#/properties/markdownCellConfig"
17:00:01.122 › $ref: keywords ignored in schema at path "#/properties/rawCellConfig"
17:00:02.143 › Starting application in workspace: "default"
17:00:02.282 › JupyterLab extension jupyterlab-jupytext is activated
17:00:02.282 › Jupytext: adding command=jupytext:ipynb with rank=1
17:00:02.282 › Jupytext: adding command=jupytext:auto:light with rank=2
17:00:02.283 › Jupytext: adding command=jupytext:auto:percent with rank=3
17:00:02.283 › Jupytext: adding command=jupytext:auto:hydrogen with rank=4
17:00:02.283 › Jupytext: adding command=jupytext:auto:nomarker with rank=5
17:00:02.283 › Jupytext: adding command=jupytext:md with rank=6
17:00:02.284 › Jupytext: adding command=jupytext:md:myst with rank=7
17:00:02.284 › Jupytext: adding command=jupytext:Rmd with rank=8
17:00:02.284 › Jupytext: adding command=jupytext:qmd with rank=9
17:00:02.284 › Jupytext: adding command=jupytext:custom with rank=10
17:00:02.285 › Jupytext: adding command=jupytext:none with rank=11
17:00:04.671 › Starting WebSocket: ws://localhost:8889/api/kernels/a6d026f1-61a8-4fab-945f-6511d43bf29d
17:00:04.675 › Starting WebSocket: ws://localhost:8889/api/kernels/a6d026f1-61a8-4fab-945f-6511d43bf29d
17:00:04.814 › Starting WebSocket: ws://localhost:8889/api/kernels/9d6a4d75-c0a2-46be-a12a-83de4fde4ab0
about:blank:1 Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME
5[Violation] Forced reflow while executing JavaScript took <N>ms
ptoche commented 2 years ago

It was a problem with Jupytext. Ended up destroying the environment and re-installing. Thanks a lot for your help Mike! Closing.