Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

regression with jupyterlab 4.2 #16

Open
2 of 3 tasks
parmentelat opened this issue Jun 5, 2024 · 12 comments
Open
2 of 3 tasks

regression with jupyterlab 4.2 #16

parmentelat opened this issue Jun 5, 2024 · 12 comments

Comments

@parmentelat
Copy link
Owner

parmentelat commented Jun 5, 2024

for a couple days/weeks now, I have noticed a regression in jlab sessions that use this extension

the symptoms are

  • cells take needlessly large height
  • scrolling up and down triggers odd behaviours, like
    • space between cells increases even further
    • cells move from one row to the next
    • scrolling gets stuck

and this even with notebooks that do not have gridwidth tags at all

I need to

  • investigate and confirm my gut feeling that a recent jlab is causing the issue
  • bisect to find the actual version that breaks
  • find a way to fix the problem

because at first sight what is happening it it rather mysterious

broken jupyter --version
Selected Jupyter core packages...
IPython          : 8.25.0
ipykernel        : 6.29.4
ipywidgets       : 8.1.3
jupyter_client   : 8.6.2
jupyter_core     : 5.7.2
jupyter_server   : 2.14.1
jupyterlab       : 4.2.1
nbclient         : 0.10.0
nbconvert        : 7.16.4
nbformat         : 5.10.4
notebook         : 7.2.0
qtconsole        : 5.5.2
traitlets        : 5.14.3
@parmentelat
Copy link
Owner Author

parmentelat commented Jun 5, 2024

when using either

  • jupyterlab 4.0.13
  • jupyterlab 4.1.8
    I get the expected behaviour, i.e. this, on the first example notebooks in this repo

gridwidth-ok

@parmentelat
Copy link
Owner Author

parmentelat commented Jun 5, 2024

here's the behaviour obtained on the same notebook with either

  • jupyterlab 4.2.0
  • jupyterlab 4.2.1
    the whole time we're only scrolling down with the mouse

gridwidth-ko

@parmentelat parmentelat changed the title regression with recent jlab regression with jupyterlab 4.2 Jun 5, 2024
@krassowski
Copy link

Can you go to Notebook settings and change the windowing mode to none from full (default since 4.2) and see what happens? Similarly, on 4.1 if you change to full can you reproduce this? I would suggest reloading JupyterLab after changing this setting.

@parmentelat
Copy link
Owner Author

with 4.2.1, if I go to 'none' windowing mode, the issue vanishes

what's the deal with the windowing mode ?

@parmentelat
Copy link
Owner Author

and conversely under 4.1.8, moving to 'full` windowing mode triggers the issue

@parmentelat
Copy link
Owner Author

parmentelat commented Jun 6, 2024

is there a way for an extension to act on these settings ?
I mean, is it OK to consider doing so ?

@krassowski
Copy link

Yes, jupyterlab-execute-time does so, but it has a setting specific to its use case. Some users may find it annoying if you switch the windowing off but as a short-term solution until you can figure out how to support windowed mode it sounds reasonable to me (provided it is well documented).

@parmentelat
Copy link
Owner Author

thanks @krassowski; about this:

until you can figure out how to support windowed mode
I wouldn't know where to start, where is this 'windowing' thing documented ?

@parmentelat
Copy link
Owner Author

thanks for the pointers

in the meanwhile I'm tempted by the short-term approach (because otherwise the disease will slowly spread to all my students as they upgrade their envs, leading to a mess..)

it feels however that it's not just a matter of changing the windowingMode setting directly - because understandbly my extension won't be allowed to modify the notebook's extension settings, iiuc from reading this
https://discourse.jupyter.org/t/how-do-i-override-settings-using-my-extensions-schemadir-file/8599/2

now, how can I achieve this as an externion developer ?
as opposed to an operator, which the above post only addresses - iiuc again

thanks !

parmentelat added a commit that referenced this issue Jun 7, 2024
not quite there yet, but marginally better
@parmentelat
Copy link
Owner Author

yes thanks, I believe this should get me started

just a question though
do I understand correctly that in the linked code, 'enabled' is a setting local to the execute-time extension, and it is not related to the generic 'enabled/disabled' status of an extension, is that right ?
I would have thought that the activate method of the plugin would not even be triggered if the extension is disabled, no ? (in which case a test against 'enabled' would always return true...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants