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

Notebook minimap in the virtual scrollbar #16432

Merged
merged 4 commits into from
Jun 28, 2024

Conversation

krassowski
Copy link
Member

@krassowski krassowski commented Jun 4, 2024

References

For now this PR includes two PRs on which it depends:

Code changes

Creates a private (non-exported) ScrollbarItem class which implements reactive scrollbar item allowing for high-performance rendering of minimap even in very large notebooks.

User-facing changes

The virtual scrollbar now exposes information on whether the cell:

  • is running/scheduled ([*]), idle ([ ]) or was already run (e.g. [1])
  • was modified since it was last executed ("dirty") - orange background - thank you @srdas for the suggestion
  • has output contains an error (traceback) - red background
  • is markdown/code ([X] for code, nothing for markdown)
  • roughly what text content does it contain

wip

running-and-modified

Plan

Depending on feedback:

  • make the display of source code configurable?
    • allow to configure maximum number of lines or height shown?
  • make the entire thing configurable, allowing fallback to previous simpler implementation?

Ideas for future improvements:

  • option for viewport to be always visible
  • option to show headings as a line with bold?

Backwards-incompatible changes

None

@krassowski krassowski added this to the 4.3.0 milestone Jun 4, 2024
Copy link

Thanks for making a pull request to jupyterlab!
To try out this branch on binder, follow this link: Binder

@ellisonbg
Copy link
Contributor

Ohh, very cool! Some minor feedback:

  • I think the rendering of the prompt/cell number using [1] in the minimap cells works well. However, we might want to try to display the prompt at a slightly smaller size. It is a bit hard to tell just from a screenshot, but it looks like the same size as the actual prompt. Maybe one or two stops smaller?
  • I realize the value of putting the icon button right above the UX. However the kernel name and kernel status indicator have been in that position for a long time (since the beginning). Moving them to the right could confuse users who have grown used to their location (those items are all related to the kernel and its status). Could you try putting it to the right of the cell type selector as a variation? Another downside of its current location is that it would be the first icon to disappear (into the ... button) when the toolbar gets narrow.

If it isn't too much trouble, could you generate some alternate screenshots to help us explore and weight the different visual options.

@krassowski
Copy link
Member Author

krassowski commented Jun 11, 2024

Thank you for leaving feedback @ellisonbg!

I think the rendering of the prompt/cell number using [1] in the minimap cells works well. However, we might want to try to display the prompt at a slightly smaller size. It is a bit hard to tell just from a screenshot, but it looks like the same size as the actual prompt. Maybe one or two stops smaller?

I agree that it should be smaller than the actual prompt. There is of course a limit as to how small we can make it to keep it legible. Currently the prompt in the notebook cells are 13px and in the the minimap they are 80% of that which works out to 10.4px. Visually they may seem more similar because the former are grey and the latter are black (left - minimap as of now, right - cell in a notebook)

image

I realize the value of putting the icon button right above the UX. However the kernel name and kernel status indicator have been in that position for a long time (since the beginning). Moving them to the right could confuse users who have grown used to their location (those items are all related to the kernel and its status). Could you try putting it to the right of the cell type selector as a variation? Another downside of its current location is that it would be the first icon to disappear (into the ... button) when the toolbar gets narrow.

To clarify, this PR is not adding the hamburger icon button to the toolbar. For context, that button (and the initial virtual scrollbar implementation) was added 6 months ago in #15533 by @afshin after previous discussion in #15109 (and discussing this on multiple JupyterLab calls). Discussing it in a dedicated issue rather than here would give it more prominence and allow users who only monitor the issues by screening the titles to participate so I opened #16478 for it. Also, if we were to make this change here, this PR would grow to touch dozens of snapshot files and toolbar tests, so I would really prefer not to do that.

@krassowski krassowski marked this pull request as ready for review June 12, 2024 16:10
@krassowski krassowski mentioned this pull request Jun 19, 2024
18 tasks
@andrewfulton9
Copy link
Contributor

I tested this and it works well for me (Ubuntu 20.04.6 LTS, firefox 114.0.2). Scrolling works well, execution indicator, ect. all work smoothly and as expected on the examples/OutputExamples.ipynb notebook.

@brichet
Copy link
Contributor

brichet commented Jun 24, 2024

Thanks @krassowski for adding this feature, it's really nice.

In my opinion, we should make it configurable, with this display as default.

  • make the display of source code configurable?

    • allow to configure maximum number of lines or height shown?

We could have an option to fully render the cells, which would remove the max-height of .jp-scrollbarItem-source and the limitation to 10000 characters.

  • make the entire thing configurable, allowing fallback to previous simpler implementation?

In the case of a simple rendering (rectangle with cell index), would it be easy (and necessary) to fallback to a simple HTMLElement, as it was before #16392, to avoid any computation ?

@brichet
Copy link
Contributor

brichet commented Jun 24, 2024

Is this expected that there is no new line in markdown cells ?

image

@krassowski
Copy link
Member Author

Is this expected that there is no new line in markdown cells ?

I guess you did not expect it, so probably not exactly.

The current behaviour corresponds to white-space-collapse: collapse. If we added white-space: pre as in code cells then it would not accurately represent long lines in markdown. So neither is great. However, we can use white-space: pre-line (a.k.a white-space-collapse: preserve-breaks) which seems like a good option to me.

Top - markdown code, bottom - rendered:

default (current) white-space: pre preserve-breaks
image image image

@krassowski
Copy link
Member Author

In my opinion, we should make it configurable, with this display as default.

I agree. My original intent was to add settings in this PR but I realised that we will probably want the minimap to be an extension point and therefore we should not be adding settings to the Notebook package because then it would be a breaking change to remove them (which would be needed to move then to a new plugin providing the default implementation so that extensions can provide their own settings schema), so let's settle on the extension API for minimap first and implement settings second. I opened #16528 to track this.

@krassowski
Copy link
Member Author

In the case of a simple rendering (rectangle with cell index), would it be easy (and necessary) to fallback to a simple HTMLElement, as it was before #16392, to avoid any computation ?

This could be implemented as a separate plugin (disabled by default) which could be swapped by the user if they wanted the other implementation once we implement an extension point for the minimap (#16528); that said I am not sure how much value there would be in it.

Copy link
Contributor

@brichet brichet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes and details @krassowski, this looks good.

Should we add #16528 in 4.3 release plan ?

@krassowski
Copy link
Member Author

Thank you for the review!

Should we add #16528 in #16315 ?

Done!

@krassowski krassowski merged commit 1d3e4ac into jupyterlab:main Jun 28, 2024
84 checks passed
afshin pushed a commit to afshin/jupyterlab that referenced this pull request Jul 1, 2024
* Notebook minimap in the virtual scrollbar

* Remove `updateOutput` in favour of making `updatePrompt` an arrow func

* Improve line breaks behaviour in markdown cell previews

* Adjust prompt positioning after c26de19
krassowski added a commit that referenced this pull request Jul 24, 2024
* Thread in kernel manager

* remove kernel search function

* docstring driven development

* Pass in kernel ID, etc

* Refactor dropdown

* do not await session context ready for reasons

* more clean up

* fix tests

* more tests

* Show the prefix of kernel ID in change kernel dropdown that is visible in the running kernels pane

* Update group order

* Make kernelManager optional for this version

* fix docstring and unknown kernel name

* minor type signature update

* simplify arguments

* Make kernelManager optional in the ISessionContext interface for this version

* If kernel manager is not present, default to rendering all kernels from running sessions

* Expose the ability to make a temp dir so test creators can generate their own data directories

* Expose a public API for populating a <select> tag with kernel creation – both for testing and potentially for others to use

* Add an external kernel directory and item for the apputils sessioncontext tests to test external kernels rendering in the change kernel dialog

* Notebook minimap in the virtual scrollbar (#16432)

* Notebook minimap in the virtual scrollbar

* Remove `updateOutput` in favour of making `updatePrompt` an arrow func

* Improve line breaks behaviour in markdown cell previews

* Adjust prompt positioning after c26de19

* Add option to dismiss "Server Connection Error" dialog for the duration of the session (#16269)

* add option to dismiss dialog

* Update packages/application/src/connectionlost.ts

Co-authored-by: Jason Weill <93281816+JasonWeill@users.noreply.github.com>

* Update packages/application/src/connectionlost.ts

Co-authored-by: Jason Weill <93281816+JasonWeill@users.noreply.github.com>

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* added types, promise cached in variable, pop-up comes back up if clicked away from or dismissed

* clean up logic

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* make variables private and move to end of file, add get and set methods

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* Update packages/application/src/connectionlost.ts

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* Simplify the changeset

---------

Co-authored-by: Jason Weill <93281816+JasonWeill@users.noreply.github.com>
Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>

* Update to Playwright 1.45.0 (#16530)

* [ci skip] Publish 4.3.0a1

SHA256 hashes:

jupyterlab-4.3.0a1-py3-none-any.whl: b844cebfd717ff0bdf9b14ff682eabbf4f7ab9969609f7087452f7968a82860f

jupyterlab-4.3.0a1.tar.gz: fd33ee07649c10d2c84a141dacb7cecf709f283e8e79af248e5d69f1110c04e2

jupyterlab-application-4.3.0-alpha.1.tgz: 62275c90773b497c9ef79fe6bf7ac3e0375c2f960599c7e76e41db7f786a3026

jupyterlab-application-extension-4.3.0-alpha.1.tgz: 550308d9390a3620ee6782c548e0c336a66618d917a90026a9448284b0c09d01

jupyterlab-apputils-4.4.0-alpha.1.tgz: a4fb5a4366b6b674dd22a7145065094c4fcad7adbdc4fac2c6957ec45254d7c9

jupyterlab-apputils-extension-4.3.0-alpha.1.tgz: d2fe04543ea3ed69822a328e3742418072e81de6ad42fbc0272038e1708ddafa

jupyterlab-attachments-4.3.0-alpha.1.tgz: 506b3da0cac56e40e9ef351fbe5c9712afd4611b73a47fc9dd4988b2ee7a228e

jupyterlab-builder-4.3.0-alpha.1.tgz: 986e9653c1f264cd0899d5bc4561203bb5e2cead21d878a7faa1764753c1edb1

jupyterlab-buildutils-4.3.0-alpha.1.tgz: fc971e4f041f2380c18c84112d3f5c55a0cfb4cd2c157a938a41d527780f2458

jupyterlab-cell-toolbar-4.3.0-alpha.1.tgz: d4ac4777221e4ff7404a730ac50edfa0790115443584aee6168ad888dd71c6dd

jupyterlab-cell-toolbar-extension-4.3.0-alpha.1.tgz: 48f277f956dfb151714294f29adf031ee9beffa1526a8dbed4404cd6a81635e2

jupyterlab-cells-4.3.0-alpha.1.tgz: b99f07fd44b1f6afb8153244c0567467e43767f855bee07da6377037f71690d1

jupyterlab-celltags-extension-4.3.0-alpha.1.tgz: 91f0a008a01dde142b8a35f274f07ee31933dc0abe08608ea747920d16fa1e04

jupyterlab-codeeditor-4.3.0-alpha.1.tgz: c67086158f11096f6eac38d6cc850b528884e4de0e1965929c55ab1d17047944

jupyterlab-codemirror-4.3.0-alpha.1.tgz: a26d358465e2e586969c322e7a56956a91ab65f325c5cde0d99b3e9aaa82d2d7

jupyterlab-codemirror-extension-4.3.0-alpha.1.tgz: aacd5fa4f1ae8166859ea96a873e1751ce569cd4f4e45018a4c3d96525afd825

jupyterlab-completer-4.3.0-alpha.1.tgz: 1878233761159485d1c05ebe3028b839050207d018ff04423b9e8c740b612cf9

jupyterlab-completer-extension-4.3.0-alpha.1.tgz: 9916936c0f0dce79dc12cceb3ea6d54d501edb1e09743936008a339f05c2299f

jupyterlab-console-4.3.0-alpha.1.tgz: 80a2522012b44e5ae74590c829412b3ccf7661b83a46e813a0f1d2bf78495a80

jupyterlab-console-extension-4.3.0-alpha.1.tgz: 2d7011471df012b6bb4197d3a747b7df3bda11dcd7f0feab4625d19cee809db0

jupyterlab-coreutils-6.3.0-alpha.1.tgz: a41e1e3c83329f2311f8a98bc406601a4a2ad5eac4ed0456b9658f110bc551cd

jupyterlab-csvviewer-4.3.0-alpha.1.tgz: c0da65eafc6b83ef6d53fa297345635dce8d9eea3958d95442db34b1c5a15a2a

jupyterlab-csvviewer-extension-4.3.0-alpha.1.tgz: e09e1cbad600d8ba405ff576aeeb1f19c77d34a3c1f906387aa254532bbef8f7

jupyterlab-debugger-4.3.0-alpha.1.tgz: df54b90ce47f95a4256b8dbe3ec242a9e57ab7413790ce5f64635983e1c2638f

jupyterlab-debugger-extension-4.3.0-alpha.1.tgz: 395480113048dd903efe71b44f759651a09242dc0ca0325a3cdb6aeece93aa85

jupyterlab-docmanager-4.3.0-alpha.1.tgz: bd02316d7615b879b2e5d0a0a8eb91dbeab80e7a24ce6b32d212beb4e47fdee1

jupyterlab-docmanager-extension-4.3.0-alpha.1.tgz: b8f044c0b1a2544cd3609a80077ce63fd1e7d6f6b20c8d059d1afe7c22f9195b

jupyterlab-docregistry-4.3.0-alpha.1.tgz: c94c97f883a1f7b5ea7bfd4aa2b5e6f22dbfa20a364e35601a833a4206e22bac

jupyterlab-documentsearch-4.3.0-alpha.1.tgz: 3faac028114d5087126ba855364b64ba643fc004008d703b4357fc11c5df15cc

jupyterlab-documentsearch-extension-4.3.0-alpha.1.tgz: 6860ed3a3ca86858dd383738b2b212763cdaf560e4ab742b648610ac87221e5f

jupyterlab-extensionmanager-4.3.0-alpha.1.tgz: fc194aebb5d9ff2113e99b880b5da2164bd3d4401f4f8d237a39e3f85df8ec54

jupyterlab-extensionmanager-extension-4.3.0-alpha.1.tgz: 13c6c5d8e03ae6f1a12ef7e4fde6c8bd8dfa5638692dbb9196651d814d161af3

jupyterlab-filebrowser-4.3.0-alpha.1.tgz: f77c67e35ce0b8862780390e10597d4cc7d3cc286a434b45dc5ed7643f550db3

jupyterlab-filebrowser-extension-4.3.0-alpha.1.tgz: aabaeb0c2d168e78b0ec5f1d9dc6ff4f85b2072f4bb0ddaab2d277d8274a88a9

jupyterlab-fileeditor-4.3.0-alpha.1.tgz: ceb138e4d9dac8d2732a93d2e97839c629897c39c2dcb1d74f4e177d2198af59

jupyterlab-fileeditor-extension-4.3.0-alpha.1.tgz: 48d68926fd624e702fe7958eae6589c65a7e2ecbfbcf89430ed603d1aff5f986

jupyterlab-galata-5.3.0-alpha.1.tgz: d5803f8ff84f25a7a3f58bf672026cf524f288fd32f4bc3849d4b263e2e7605c

jupyterlab-help-extension-4.3.0-alpha.1.tgz: aa663c1bed76f1c0b7f1783a2b5e8733b80d0c9814fbeff58ff105acd6f12bf8

jupyterlab-htmlviewer-4.3.0-alpha.1.tgz: 17b7663ef309e98e838854abdf7111e8c459a29d60b3f19896afffac48b24f87

jupyterlab-htmlviewer-extension-4.3.0-alpha.1.tgz: 3dcd4a6622a78bf71491f422f6e1398fe67a225d8cdfe629ca2b28de69035516

jupyterlab-hub-extension-4.3.0-alpha.1.tgz: 613e356906de930ec90a92cfb8c12e175112b303c439b217ce56a76b0d851105

jupyterlab-imageviewer-4.3.0-alpha.1.tgz: 7530054ba05b367be77e5a3c18f9dbab83e4b5d3bfc9970efe22bc879b0deb33

jupyterlab-imageviewer-extension-4.3.0-alpha.1.tgz: 19c25b66913d4d886094e78660993c3dd8ec5534f9c52ae9729918e7aa5504ae

jupyterlab-inspector-4.3.0-alpha.1.tgz: 1a154d51a0a89c45998d2fe183277ca2ec00d4979f2428402347fde48b469b21

jupyterlab-inspector-extension-4.3.0-alpha.1.tgz: 2ad76584db27ca41c1cc4958c71037e95378f2dcbbf6ac06e519a6ee9caf75e2

jupyterlab-javascript-extension-4.3.0-alpha.1.tgz: c125af9b6273897e07e15ae1492018257c6f053ace2921faf162d36059bf1544

jupyterlab-json-extension-4.3.0-alpha.1.tgz: a6a386a9deb7cc0242a426d618465e37db312af14e9a08ba60197c1f4b996fd1

jupyterlab-launcher-4.3.0-alpha.1.tgz: df598c0f370276db77724352b3ab08efae43598f7ac7444d1cb54b0ea9f68065

jupyterlab-launcher-extension-4.3.0-alpha.1.tgz: 1798928af46911cf34a8baefcc6e81517558ad7a9bdbaa1172b0c40124ff0ba9

jupyterlab-logconsole-4.3.0-alpha.1.tgz: 943f2a4882a38ffc4f3a66a60d7462525c7eff5520273379d46752a17f4aa62a

jupyterlab-logconsole-extension-4.3.0-alpha.1.tgz: a5af8707c82a1862cc141be4fbcae07359d3ebcf136c00a708ca10ac889fc138

jupyterlab-lsp-4.3.0-alpha.1.tgz: 447fb0b815b81c8da2034bcd3ea39de69b5c8ae9c339f2ce0cf53932c53553d0

jupyterlab-lsp-extension-4.3.0-alpha.1.tgz: 3e1d5395b60b049db515a90e75025e85b83e49c6bf13193e4394465c1d6d19c2

jupyterlab-mainmenu-4.3.0-alpha.1.tgz: cb8374c43828f4a13bf87ccd1b4f2122f6877c785c1c3f8bce24d8257ae13da9

jupyterlab-mainmenu-extension-4.3.0-alpha.1.tgz: 1fa39d367aed51da40ecf73cfd3cceeea7e38561baf1078f1f36c99810702f1e

jupyterlab-markdownviewer-4.3.0-alpha.1.tgz: 2482ca1144ba0289141b200ae014fa67e80d1a95d3221e40d8fff941b9ab289d

jupyterlab-markdownviewer-extension-4.3.0-alpha.1.tgz: 0e2157d61b62c67bab090da9d3c5c1404e519bce168e24055bd32eefa1d03b32

jupyterlab-markedparser-extension-4.3.0-alpha.1.tgz: 9f9bbf952c3ab214c139815f960ceeeddb2ca1ae9d5f1f0aa574959a1054798b

jupyterlab-mathjax-extension-4.3.0-alpha.1.tgz: d35a9fb0b3fc07ef760db310a9d9b199dfdd4ac6ecbfa42dc4e27b10edd297b5

jupyterlab-mermaid-4.3.0-alpha.1.tgz: 2912f917b17be7ab2aac8d16709254f7d8f4e402e472596c624718bd9d57d6ca

jupyterlab-mermaid-extension-4.3.0-alpha.1.tgz: 92951f22f3150e8d091b72e84e263b072bff62ae093018c9f53c761508e05eaa

jupyterlab-metadataform-4.3.0-alpha.1.tgz: 9fbca9b12231b54bc179af200843155af82c1836d0c70b1bae49fc0b7ae1d261

jupyterlab-metadataform-extension-4.3.0-alpha.1.tgz: 22797754823a8c34db07789b93e81dd99a30c8de54fe0c93a6d24e7e691f7cf1

jupyterlab-metapackage-4.3.0-alpha.1.tgz: 403f3490b0cf8366b3ce021577154a95f6aaa81b1c477d1ea89e3ecd3bc255c6

jupyterlab-nbconvert-css-4.3.0-alpha.1.tgz: 81ee952eef731ef7f61db8f2222748dd668ba0ca699aced6748c2a830096ee65

jupyterlab-nbformat-4.3.0-alpha.1.tgz: 78148c6d690eaaf4627d6238ddd9eb131fb71694e8ad0f51d70bcf6c3ad9b45e

jupyterlab-notebook-4.3.0-alpha.1.tgz: f346d39ff47a778e89fd3e6ce67dce798c0f6fc9f745749dfca897fba48619fc

jupyterlab-notebook-extension-4.3.0-alpha.1.tgz: ed936232825b64382ebbcdfe90126958b7e2984a79238023c54694c925d888e1

jupyterlab-observables-5.3.0-alpha.1.tgz: af21c016c7d715d75339559bad081ef6eba755afd1df08dd27aac2820c3634c3

jupyterlab-outputarea-4.3.0-alpha.1.tgz: 25cf942b4079b7b7760c0e991de2316af7267e3f846e87ec5423730667c59ed1

jupyterlab-pdf-extension-4.3.0-alpha.1.tgz: b849e919380dbc2f113e6d49c9959c888a51cb08c64e1acabb81c3aa7e64cf0e

jupyterlab-pluginmanager-4.3.0-alpha.1.tgz: 3156470c3c98efd42b415b9ed72b4a4ad91ab9c7173a255693ba064b029680f1

jupyterlab-pluginmanager-extension-4.3.0-alpha.1.tgz: 0521ced83575412ebec42be748c92a1d5868bfb0a3f13343c695b30948437557

jupyterlab-property-inspector-4.3.0-alpha.1.tgz: 104bab2e6e6721150315150f2af87998b85614a330bc22460e7f2c1487e9934a

jupyterlab-rendermime-4.3.0-alpha.1.tgz: baf5e24e691b952edc6620038cba7962ccd0c48e888748209f4485f67244791a

jupyterlab-rendermime-extension-4.3.0-alpha.1.tgz: d7e9e1f7fe21bff8fa6c102e457bad7ae85cb496f784baec9069c696c2b75f6d

jupyterlab-rendermime-interfaces-3.11.0-alpha.1.tgz: 06e1a9ef09a65102922c3fc9c90b4f44bd2f1949b6dc37919e23700db4d4c412

jupyterlab-running-4.3.0-alpha.1.tgz: e25c4f08a96badfe0c0b91afe45d64b85648e43a787517833a85f29f225c75d6

jupyterlab-running-extension-4.3.0-alpha.1.tgz: d0d3acb5ba2db9b30a70552ea0f4199e5a30cc08fa1674f6fa7f3059b51722de

jupyterlab-services-7.3.0-alpha.1.tgz: d55a50b87073cd3fc256c41ae7dd82d84bebee1593b2bf339c67fc0d19db04de

jupyterlab-settingeditor-4.3.0-alpha.1.tgz: 0d62d1965a5ae6e8c2805b4c8e7eee377341dc7aaf348a458d3ed0ad6ebecc71

jupyterlab-settingeditor-extension-4.3.0-alpha.1.tgz: 96755d568e63e8e263967f53618eb5890189223c3fe3fc03cdeb91638644fef2

jupyterlab-settingregistry-4.3.0-alpha.1.tgz: ea6de5086f5ad656b0b3b3c94a32269996af4e0279b9c5f83d82b6bdc21ed123

jupyterlab-shortcuts-extension-5.1.0-alpha.1.tgz: 40b4af8d80365c21f7b9bffe34b14abe3f43333335691071a163a916c1430841

jupyterlab-statedb-4.3.0-alpha.1.tgz: a566c0423efc174e3dec30a3fddd706e1ceb0ee39fa30cb2767867a895d2bc27

jupyterlab-statusbar-4.3.0-alpha.1.tgz: 7e7138708c88bc54d62523e0ed44a3ffed625e6556094b277a06dc473ae6402c

jupyterlab-statusbar-extension-4.3.0-alpha.1.tgz: 0bdbc2cbc633a5032ba5e41cb481959294cc3ef3a6960a70e03ed8ead8f0ca43

jupyterlab-template-4.3.0-alpha.1.tgz: 5b4473b16933ff5985cd1511c5c79f0497f861123e8c0a47cb6d4845ebc7e730

jupyterlab-terminal-4.3.0-alpha.1.tgz: 482d57c324ab87bf874d1b7da894011911b45902be1ae02c975c126be492ad42

jupyterlab-terminal-extension-4.3.0-alpha.1.tgz: 58231169cad75f698eeced49a30c53a6d6d03425c65a5de1500d30a79eae27c9

jupyterlab-testing-4.3.0-alpha.1.tgz: 1df2fcb56b5bf71294e4c67b492eb00edf24c4090c3a0aff2a01be4332137900

jupyterlab-testutils-4.3.0-alpha.1.tgz: d57acf14166354dec2e40fc5429b0645a9df69774e4e08b39f035da219e86c85

jupyterlab-theme-dark-extension-4.3.0-alpha.1.tgz: 7411a22ba4195ef8f530015a56781bbce1b999133a0d89190613d9e66e5bbf6e

jupyterlab-theme-dark-high-contrast-extension-4.3.0-alpha.1.tgz: 25b5d024e3b99b8b982924bc66b591a9d52d4fb0abe5331ec880a26c8b675860

jupyterlab-theme-light-extension-4.3.0-alpha.1.tgz: 1c06f65fe710105b6ca91b5099c943ce5cab93dce75c438bf7d0b038a152c75c

jupyterlab-toc-6.3.0-alpha.1.tgz: cb6dc0c79f2800b0b616aabc9b2d06c9fa0cd11a333c847f9cbf25f890e94c37

jupyterlab-toc-extension-6.3.0-alpha.1.tgz: 096e485e928f031ea578b9914ca257c2b1289d96df745c020a22e04b6f0d4258

jupyterlab-tooltip-4.3.0-alpha.1.tgz: 467723d14304f905a5dae7452967792beaa80f48f4e7d5d1054b9202d83b562c

jupyterlab-tooltip-extension-4.3.0-alpha.1.tgz: 032a689a78dec5dfd9bcaf6d30fea98717762a6c6203c311fab2b76cd2040965

jupyterlab-translation-4.3.0-alpha.1.tgz: 58065a9bc36f2be1b1f2b7ad49cfaf53821e528b1f1c778855648b8522ac36ca

jupyterlab-translation-extension-4.3.0-alpha.1.tgz: 692fd0e689b138feae71b8cfe4b12880c2f263e5599b47c29cb66a0f95f92a4f

jupyterlab-ui-components-4.3.0-alpha.1.tgz: 792ac2297c2c4c281c50a09111234617f723267b416b9ad8247b777976565b60

jupyterlab-ui-components-extension-4.3.0-alpha.1.tgz: b5b7417c791431f0d78b6fd44ce70ead2dad71ced678c9ca00b6d0e6acf58bca

jupyterlab-vega5-extension-4.3.0-alpha.1.tgz: 5ee81de4122a12a77f13ea5f629c04d904ed096d28f6ae17ffa333e8aa8916a7

jupyterlab-workspaces-4.3.0-alpha.1.tgz: eced161f00029ceb049482ea5a40db10ce1c46c18a55b2326278c0c27c7a1497

jupyterlab-workspaces-extension-4.3.0-alpha.1.tgz: 64c72d2ea1b3574c5f1de0e050a0d87c469d20846ce75a0cdab82be40a7038e1

* Add checkbox to skip showing the kernel restart dialog (#16265)

* Add checkbox to skip showing the kernel restart dialog

* Swap to Setting Registry

* add ISettingRegistry to sessionDialogs

* Add null option for ISettingRegistry

* unlink checkbox with setting

* Suggested changes

* typo

* Leave the API of testing JupyterServer as it exists in main

* Refactor per Fred's suggestion

* no reify

* dedupe

* tweak

* Consolidate the types used in the kernel options function into one interface

---------

Co-authored-by: Michał Krassowski <5832902+krassowski@users.noreply.github.com>
Co-authored-by: Rosio <rosio_reyes@yahoo.com>
Co-authored-by: Jason Weill <93281816+JasonWeill@users.noreply.github.com>
Co-authored-by: Jeremy Tuloup <jeremy.tuloup@gmail.com>
Co-authored-by: krassowski <krassowski@users.noreply.github.com>
Co-authored-by: Elijah McMorris <NexVeridian@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design System CSS feature pkg:notebook tag:CSS For general CSS related issues and pecadilloes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Encoding more information in the virtual scroll bar "minimap" of notebook structure for navigation
4 participants