ipython-contrib / jupyter_contrib_nbextensions

A collection of various notebook extensions for Jupyter
http://jupyter-contrib-nbextensions.readthedocs.io/en/latest
Other
5.2k stars 805 forks source link

Collapsible Headings alters vertical position of tooltip for signature and docstring #1611

Closed stanwest closed 1 year ago

stanwest commented 1 year ago

With the Collapsible Headings extension enabled in versions 6.5.1 and 6.5.2 of notebook, but not in v. 6.4.12, the tooltip that displays the current object's signature and docstring when one hits Shift + Tab appears at the wrong height within the browser window. As far as I've seen, the tooltip appears too low when the view is scrolled near the top of the notebook and too high when near the bottom. The screen-shots below illustrate the behavior.

low

high

For a long enough notebook scrolled down somewhat, the tooltip may have so high a position that it is outside the window, giving the impression that the notebook is ignoring Shift + Tab (at least until the fourth press raises the pager).

Prior related issues are #509 and #949, and the possibility of breakage is mentioned in the extension's readme file.

venkate123 commented 1 year ago

It is caused by "Jupyter.version()" in patch_Tooltip failed to return right notebook version in notebook 6.X. For I have no idea how to get notebook version, I forked and simply removed it and only keep compatible for 5.X & 6.X. If you need, you can install from my repo by pip uninstall jupyter_contrib_nbextensions -y then pip install git+https://github.com/venkate123/jupyter_contrib_nbextensions.git

stanwest commented 1 year ago

It is caused by "Jupyter.version()" in patch_Tooltip failed to return right notebook version in notebook 6.X.

I see. For versions 6.5.x of notebook, Jupyter.version is the version not of notebook but rather of nbclassic (for example, "0.4.5"). The change occurred with jupyter/notebook#6474, which replaced the static assets of notebook with those of nbclassic.

I've found that sys_info.notebook_version correctly returns the version of notebook (e.g., "6.4.12" or "6.5.1") and appeared in notebook version 4.0.0 from jupyter/notebook@e7c2c369e028dbb5f88e4e66a5c5b63bdfaf4131.

venkate123 commented 1 year ago

I've found that sys_info.notebook_version correctly returns the version of notebook (e.g., "6.4.12" or "6.5.1") and appeared in notebook version 4.0.0 from jupyter/notebook@e7c2c36.

Well Done!