jupyterlab/jupyter-collaboration

Notebook spinning on subfolders on jupyterhub (and link not authorized)

Opened this issue ยท 5 comments

Hello, I am trying to run the collaboration extension (pip3 install jupyter-collaboration) on a newly set up JupyterLab in Jupyterhub in ubuntu 22.04 installed using PIP (i.e. pip3 install jupyter jupyterhub jupyterlab notebook).

I have somehow once managed to get the collaboration feature working after resetting the server several times, but in general I have the issue that:

  1. notebooks in subfolders spin empty without loading (on the luncher I have RPC: [subfolder])
  2. For notebooks on the home folder, if I click on the share icon and get the link, the other user result not authorized

How can I debug it better to know what's wrong with my installation (removing the extension everything works correctly) ?

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! ๐Ÿค—

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! ๐Ÿ‘‹

Welcome to the Jupyter community! ๐ŸŽ‰

  1. notebooks in subfolders spin empty without loading (on the luncher I have RPC: [subfolder])

You can try deleting the .jupyter_ystore.db file, but it's not a good sign.

2. For notebooks on the home folder, if I click on the share icon and get the link, the other user result not authorized

Maybe the user is indeed not authenticated/authorized. I don't know exactly how JupyterHub works, but in JupyterLab if you want to open a new window that doesn't share cookies with the other one, you would need to pass e.g. a token in the URL.

Maybe the user is indeed not authenticated/authorized. I don't know exactly how JupyterHub works, but in JupyterLab if you want to open a new window that doesn't share cookies with the other one, you would need to pass e.g. a token in the URL.

Yes, there is an option to add the token, I have tried that one too, but still user2 is not authorized on user1 notebook..
I will reinstall the extension and try deleting the .jupyter_ystore.db file.

Ok, at least now I can reproduce the only case that works: a normal user is sharing the url of a notebook on its folder with an "admin" user that can then coedit the file.

So it seems it is a problem of permissions. Rather than authorize everyone to collaborate or hardcode the per-project permissions in a configuration file, would it be possible to delegate permissions from the filesystem (i.e. if user1 has write permission on the file of notebook of user1, he can access its notebook) ?

I still have the issue that with the jupyter-collaboration extension only notebook in the main user folder are loaded, not in any other subfolder (even erasing the .jupyter_ystore.db file and restarting jupyterhub)

A more theoretical question: what is the difference between the collaboration architecture described here and those described here ?

A more theoretical question: what is the difference between the collaboration architecture described here and those described here ?

The former uses the latter, giving users permissions to e.g. execute a notebook or not, but I don't know JupyterHub well.