Open LiamBindle opened 1 week ago
CCing @martinRenou, @DerThorsten, and @jtpio
https://github.com/voila-dashboards/voici/issues/121 might be related, but I tried it's reproducer also exhibited the bug in jupyter lite (whereas #127 is isolated to voici).
I've also confirmed that the traitlet is firing by adding a GET request upon the button click (I can see the GET request firing in the network tab), so it seems this issue is related to the redraw.
@LiamBindle unfortunately I dont know much about voici, but hope that @martinRenou or @jtpio can help
There shouldn't be anything specific to Voici. The only thing that comes to my mind is that voici was requiring the alpha version of jupyterlite-xeus https://github.com/voila-dashboards/voici/blob/main/python/voici/pyproject.toml#L36 which was having some issues recently.
I just made a final release of jupyterlite-xeus. Can you try again a new build and see if you still see the issue?
Thanks @DerThorsten and @martinRenou
Hmm, strange that there should be anything unique to voici. I'm definitely seeing the bug in voici but not jupyterlite. That seems like a good lead.
I'll try the new jupyterlite-xeus right now and get back to you
@martinRenou I'm afraid upgrading to jupyterlite-xeus=2.0.0 didn't fix the problem. I've double checked that my build environment is indeed using jupyterlite-xeus=2.0.0. Here's a comparison of the jupyter lite vs voici console log.
The main differences I see are:
The voici log has a bunch of warnings about unsatisfied versions Example
Unsatisfied version 4.3.4 from _JUPYTERLAB.CORE_OUTPUT of shared singleton module @jupyterlab/apputils (required ^4.3.5)
The voici log has warning about failing to fetch ipywidgets through the "jupyter.widget.control" comm channel Example
Failed to fetch ipywidgets through the "jupyter.widget.control" comm channel, fallback to fetching individual model state. Reason: Control comm did not respond in time
Do you have any insight? I'm happy to keep digging but I'd benefit if someone could point me in the right direction.
@LiamBindle are you using the latest version of ipywidgets? could you try some previous versions? There are some changes in the newest version that might affect voici.
@trungleduc Thanks for the suggestion. I have tried earlier versions of 8 and I get the same problem. In fact, I've tried pinning all packages (including dependencies) to versions that were released prior to June 2024 and that doesn't work either, but I know these versions used to work with voici because we exercise them pretty heavily.
The only package that I haven't been able to pin to a pre-June version is xeus-python because v0.16 seems to have stopped working due to an error creating the default directories when xpython is initializing (I'm not sure why this error wasn't an issue previously).
Any ideas?
Description
I recently upgraded to xeus-python=0.17 because 0.16 stopped working for me and now I'm having trouble getting
ipywidgets.Output()
to work. When I update an output widget nothing happens. I think the bug is stems from voici because when I build the notebook with jupyterliteipywidgets.Output()
works as expected.I created a reproducer here
With jupyterlite (expected behaviour)
With voici (nothing happens)
Reproduce
You can build the reproducer like so (I also included a build-environment.yml within...I'm using voici 0.7)
Serve the files
See that
ipywidgets.Output()
works in jupyterlite: http://0.0.0.0:8010/lab/index.htmlSee that
ipywidgets.Output()
doesn't work in voici: http://0.0.0.0:8010/voici/render/content/reproducer.html?Any thoughts? Thanks in advance!