Skip to content

Conversation

@krassowski
Copy link
Member

References

Closes #5897 by implementing the highly upvoted proposal from #5897 (comment) (thanks @Linusnie).

Code changes

  • adds optional promptOverlay option to OutputArea.IOptions (off by default as output area does not manage whether the output is scrollable)
  • adds toggleScrolling signal to OutputArea to connect it in code cells.

User-facing changes

output-scrolling-overlay

Backwards-incompatible changes

None, this could possibly be backported.

@jupyterlab-probot
Copy link

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

@krassowski krassowski changed the title Implement output scroll overlay Implement output prompt overlay for toggling scroll mode Feb 24, 2023
@github-actions github-actions bot added Design System CSS pkg:cells pkg:outputarea tag:CSS For general CSS related issues and pecadilloes labels Feb 24, 2023
@krassowski krassowski changed the title Implement output prompt overlay for toggling scroll mode Add output prompt overlay for toggling scroll mode Feb 24, 2023
@krassowski
Copy link
Member Author

bot please update snapshots

@krassowski krassowski marked this pull request as ready for review February 24, 2023 00:50
@github-actions
Copy link
Contributor

github-actions bot commented Feb 24, 2023

Benchmark report

The execution time (in milliseconds) are grouped by test file, test type and browser.
For each case, the following values are computed: min <- [1st quartile - median - 3rd quartile] -> max.

The mean relative comparison is computed with 95% confidence.

Results table
Test file large_code_notebook large_md_notebook
open
chromium
actual 596 <- [674 - 695 - 712] -> 834 1221 <- [1354 - 1384 - 1441] -> 1626
expected 609 <- [657 - 679 - 700] -> 849 1215 <- [1340 - 1373 - 1426] -> 1566
Mean relative change ⚠️ 2.0% ± 1.6% 1.5% ± 1.4%
switch-from
chromium
actual 779 <- [894 - 920 - 948] -> 1025 356 <- [458 - 488 - 515] -> 596
expected 790 <- [876 - 903 - 935] -> 1471 361 <- [455 - 485 - 523] -> 633
Mean relative change ⚠️ 0.5% ± 2.0% -0.3% ± 3.0%
switch-to
chromium
actual 1557 <- [1683 - 1718 - 1761] -> 1973 1070 <- [1222 - 1254 - 1287] -> 1401
expected 1537 <- [1636 - 1676 - 1732] -> 2136 1141 <- [1219 - 1255 - 1287] -> 1436
Mean relative change ⚠️ 2.3% ± 1.3% -0.0% ± 1.2%
close
chromium
actual 165 <- [184 - 194 - 201] -> 232 240 <- [282 - 294 - 308] -> 342
expected 151 <- [178 - 186 - 198] -> 217 242 <- [281 - 289 - 303] -> 352
Mean relative change ⚠️ 3.0% ± 2.2% 1.2% ± 1.8%

Changes are computed with expected as reference.

@jupyterlab/benchmarks@1.0.0 test:mocha
mocha ./tests/

Waiting for localhost:8888
localhost:8888 is up

Cell memory leaks

Create a code cell Memory change: +151 kB Leak detected: Yes

Leaking objects:

Object # added Retained size increase
ArraySearchMarker 1 +5 B
ContentString 1 +82 B
Detached Text 1 +61 B
FocusTracker 1 +276 B
ObservableList 1 +60 B
OutputArea 1 +1.4 kB
OutputAreaModel 1 +115 B
Promise 1 +23 B
PromiseDelegate 1 +128 B
ResizeHandle 1 +47 B
RestorablePool 1 +304 B
UndoManager 1 +1.33 kB
WidgetTracker 1 +976 B
YArray 1 +164 B
YText 1 +314 B
Detached DOMStringMap 2 +92 B
Detached V8EventHandlerNonNull 2 +80 B
Set 2 +209 B
StackItem 2 +952 B
YMap 2 +464 B
ContentType 4 +273 B
DeleteItem 4 +80 B
DeleteSet 4 +720 B
StyleModule 4 +128 B
ContentAny 5 +251 B
Detached HTMLCollection 6 +564 B
EventHandler 8 +256 B
ID 10 +320 B
Item 10 +1.42 kB
Detached DOMTokenList 13 +832 B
Detached Attr 14 +1.01 kB
Detached HTMLDivElement 14 +46.7 kB
Map 14 +2.02 kB
Signal 16 +278 B
Detached V8EventListener 263 +23.4 kB
Detached EventListener 265 +42.6 kB
(closure) 269 +28.3 kB
Detached InternalNode 323 +45.1 kB

Leaking collections:

Type Change Preview Size increased at
Array +2 [StackItem, ...]
UndoManager.afterTransactionHandler  http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5030:15
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.forEach <anonymous>
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.<anonymous> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4693:27
webpack://jupyterlab/node_modules/lib0/function.js:19:0
cleanupTransactions http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4695:62
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4810:9
Doc.transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2023:5
Array +4 [StyleModule, ...]
  webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:115:0     
webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:79:0
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6649:8
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6300:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:954:17
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/jsoneditor.ts:83:26
webpack://jupyterlab/packages/notebook/src/notebooktools.ts:676:21
Array +10 [Item, ...]
addStruct                    http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4268:11
Item.integrate http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:11054:7
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6617:22
Array.forEach <anonymous>
typeListInsertGenericsAfter http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6590:11
typeListInsertGenerics http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6677:10
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6996:9
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4796:5
YArray.insert http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6995:7
Set +1 Set((anonymous function), ...)
                 webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                            
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2182:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5049:14
webpack://jupyterlab/node_modules/y-codemirror.next/src/y-sync.js:11:0
webpack://jupyterlab/node_modules/y-codemirror.next/src/index.js:20:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:947:16
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/widget.ts:40:42
Set +1 Set((anonymous function), ...)
                 webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                            
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2182:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5050:14
webpack://jupyterlab/node_modules/y-codemirror.next/src/y-sync.js:11:0
webpack://jupyterlab/node_modules/y-codemirror.next/src/index.js:20:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:947:16
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/widget.ts:40:42
Create a markdown cell Memory change: +180 kB Leak detected: Yes

Leaking objects:

Object # added Retained size increase
ActivityMonitor 1 +450 B
ArraySearchMarker 1 +5 B
AttachmentsModel 1 +199 B
AttachmentsResolver 1 +14 B
ContentString 1 +76 B
Debouncer 1 +3.47 kB
Detached HTMLAnchorElement 1 +288 B
Detached HTMLButtonElement 1 +5.45 kB
Detached HTMLHeadingElement 1 +920 B
Error 1 +3.03 kB
MarkdownCell 1 +4.9 kB
MarkdownCellModel 1 +381 B
Poll 1 +3.45 kB
RenderMimeRegistry 1 +227 B
RenderedMarkdown 1 +66 B
Transaction 1 +876 B
YArray 1 +164 B
YArrayEvent 1 +357 B
YMarkdownCell 1 +137 B
Detached CSSStyleDeclaration 2 +116 B
Detached HTMLElement 2 +288 B
Detached V8EventHandlerNonNull 2 +5.2 kB
ObservableMap 2 +272 B
Promise 2 +3.07 kB
PromiseDelegate 2 +3.29 kB
StackItem 2 +932 B
UndoManager 2 +1.79 kB
YText 2 +534 B
DeleteItem 3 +60 B
Detached DOMStringMap 3 +120 B
DeleteSet 4 +700 B
YMap 4 +872 B
ContentAny 5 +490 B
ContentType 7 +718 B
Detached Text 7 +448 B
Set 8 +733 B
StyleModule 8 +256 B
Detached HTMLDivElement 10 +30.3 kB
Detached DOMTokenList 13 +752 B
ID 13 +416 B
Item 13 +2.37 kB
EventHandler 14 +448 B
Detached HTMLCollection 17 +1.68 kB
Signal 20 +342 B
Map 23 +3.52 kB
Detached V8EventListener 130 +10.9 kB
Detached EventListener 132 +25.6 kB
(closure) 151 +39.4 kB
Detached InternalNode 162 +28.2 kB

Leaking collections:

Type Change Preview Size increased at
Array +1 [12767987-a586-4ba6-892c-5f86cd2380dd, ...]
                                     webpack://jupyterlab/packages/notebook/src/actions.tsx:2425:37            
Array.forEach <anonymous>
webpack://jupyterlab/packages/notebook/src/actions.tsx:2420:21
webpack://jupyterlab/packages/notebook/src/actions.tsx:350:12
webpack://jupyterlab/packages/notebook-extension/src/index.ts:2289:15
CommandRegistry.execute http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:5748:33
CommandRegistry._executeKeyBinding http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:5906:14
CommandRegistry.processKeydownEvent http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:5846:18
JupyterLab.evtKeydown http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:4660:23
Array +2 [StackItem, ...]
UndoManager.afterTransactionHandler  http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5030:15
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.forEach <anonymous>
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.<anonymous> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4693:27
webpack://jupyterlab/node_modules/lib0/function.js:19:0
cleanupTransactions http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4695:62
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4810:9
Doc.transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2023:5
Array +8 [StyleModule, ...]
  webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:115:0     
webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:79:0
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6649:8
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6300:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:954:17
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/jsoneditor.ts:83:26
webpack://jupyterlab/packages/notebook/src/notebooktools.ts:676:21
Array +13 [Item, ...]
addStruct                    http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4268:11
Item.integrate http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:11054:7
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6617:22
Array.forEach <anonymous>
typeListInsertGenericsAfter http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6590:11
typeListInsertGenerics http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6677:10
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6996:9
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4796:5
YArray.insert http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6995:7
Set +2 Set((anonymous function), ...)
                 webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                            
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2182:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5049:14
webpack://jupyterlab/node_modules/y-codemirror.next/src/y-sync.js:11:0
webpack://jupyterlab/node_modules/y-codemirror.next/src/index.js:20:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:947:16
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/widget.ts:40:42
Set +2 Set((anonymous function), ...)
                 webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                            
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2182:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5050:14
webpack://jupyterlab/node_modules/y-codemirror.next/src/y-sync.js:11:0
webpack://jupyterlab/node_modules/y-codemirror.next/src/index.js:20:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:947:16
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/widget.ts:40:42
Create a raw cell Memory change: +143 kB Leak detected: Yes

Leaking objects:

Object # added Retained size increase
ArraySearchMarker 1 +5 B
ContentString 1 +76 B
Detached CSSStyleDeclaration 1 +56 B
Detached V8EventHandlerNonNull 1 +40 B
YArray 1 +164 B
Detached DOMStringMap 2 +80 B
Set 2 +277 B
StackItem 2 +932 B
UndoManager 2 +1.79 kB
YText 2 +534 B
DeleteItem 3 +60 B
DeleteSet 4 +700 B
YMap 4 +872 B
ContentAny 5 +454 B
Detached HTMLCollection 5 +452 B
ContentType 7 +718 B
StyleModule 7 +224 B
Detached DOMTokenList 9 +516 B
Detached HTMLDivElement 9 +22.5 kB
ID 13 +416 B
Item 13 +2.33 kB
EventHandler 14 +448 B
Map 15 +2.58 kB
Detached V8EventListener 130 +10.9 kB
Detached EventListener 131 +20.4 kB
(closure) 138 +24.4 kB
Detached InternalNode 151 +21.5 kB

Leaking collections:

Type Change Preview Size increased at
Array +1 [8a89547b-d6dc-4adc-8e97-957040e5cb89, ...]
                                     webpack://jupyterlab/packages/notebook/src/actions.tsx:2425:37            
Array.forEach <anonymous>
webpack://jupyterlab/packages/notebook/src/actions.tsx:2420:21
webpack://jupyterlab/packages/notebook/src/actions.tsx:350:12
webpack://jupyterlab/packages/notebook-extension/src/index.ts:2289:15
CommandRegistry.execute http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:5748:33
CommandRegistry._executeKeyBinding http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:5906:14
CommandRegistry.processKeydownEvent http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:5846:18
JupyterLab.evtKeydown http://localhost:8888/static/lab/jlab_core.96413890f399fcab10e0.js:4660:23
Array +2 [StackItem, ...]
UndoManager.afterTransactionHandler  http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5030:15
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.forEach <anonymous>
webpack://jupyterlab/node_modules/lib0/observable.js:73:62
Array.<anonymous> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4693:27
webpack://jupyterlab/node_modules/lib0/function.js:19:0
cleanupTransactions http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4695:62
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4810:9
Doc.transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2023:5
Array +7 [StyleModule, ...]
  webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:115:0     
webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:79:0
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6649:8
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6300:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:954:17
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/jsoneditor.ts:83:26
webpack://jupyterlab/packages/notebook/src/notebooktools.ts:676:21
Array +13 [Item, ...]
addStruct                    http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4268:11
Item.integrate http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:11054:7
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6617:22
Array.forEach <anonymous>
typeListInsertGenericsAfter http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6590:11
typeListInsertGenerics http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6677:10
<unknown> http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6996:9
transact http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:4796:5
YArray.insert http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:6995:7
Set +2 Set((anonymous function), ...)
                 webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                            
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2182:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5049:14
webpack://jupyterlab/node_modules/y-codemirror.next/src/y-sync.js:11:0
webpack://jupyterlab/node_modules/y-codemirror.next/src/index.js:20:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:947:16
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/widget.ts:40:42
Set +2 Set((anonymous function), ...)
                 webpack://jupyterlab/node_modules/lib0/observable.js:30:56                                            
Doc.on http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:2182:11
new UndoManager http://localhost:8888/static/lab/vendors-node_modules_yjs_dist_yjs_mjs.4fbeace2166db933a6e2.js:5050:14
webpack://jupyterlab/node_modules/y-codemirror.next/src/y-sync.js:11:0
webpack://jupyterlab/node_modules/y-codemirror.next/src/index.js:20:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:947:16
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/widget.ts:40:42
✔ Adding a cell (229556ms) - Drag and drop a cell

File editor memory leaks

Create a file Memory change: -82.2 kB Leak detected: No

Leaking objects:

Object # added Retained size increase
Detached HTMLUListElement 1 +2.31 kB
Detached V8EventHandlerNonNull 1 +40 B
VirtualElementPass 1 +46 B
Detached HTMLButtonElement 2 +23.7 kB
Detached SVGCircleElement 2 +1.1 kB
LabIcon 2 +1.07 kB
Detached CSSStyleDeclaration 3 +216 B
Detached HTMLLIElement 3 +5.16 kB
Detached NodeList 3 +176 B
NavigationHistoryEntry 3 +720 B
VirtualText 3 +109 B
Detached SVGGElement 4 +2.94 kB
StyleModule 4 +661 B
VirtualElement 4 +3.45 kB
Detached SVGAnimatedPreserveAspectRatio 5 +320 B
Detached SVGAnimatedRect 5 +320 B
Detached SVGPathElement 5 +1.77 kB
Detached SVGSVGElement 5 +7.92 kB
Detached HTMLSpanElement 6 +2.25 kB
Detached DOMStringMap 7 +352 B
Detached SVGAnimatedNumber 7 +448 B
Detached Attr 10 +720 B
Detached Text 10 +712 B
Detached HTMLCollection 13 +1.41 kB
Detached DOMTokenList 14 +896 B
Detached HTMLDivElement 15 +32.4 kB
Detached SVGAnimatedString 16 +896 B
Detached SVGAnimatedTransformList 16 +1.02 kB
Detached SVGAnimatedLength 26 +1.66 kB
Detached V8EventListener 130 +10.9 kB
Detached EventListener 131 +20.4 kB
(closure) 138 +-9.8 kB

Leaking collections:

Type Change Preview Size increased at
Array +4 [StyleModule, ...]
  webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:115:0     
webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:79:0
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6649:8
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6300:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:954:17
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:73:11
webpack://jupyterlab/packages/fileeditor/src/widget.ts:219:13
webpack://jupyterlab/packages/codeeditor/src/widget.ts:40:42
✔ Opening a text file (70812ms)

Notebook memory leaks

Create a notebook Memory change: +27.7 kB Leak detected: Yes

Leaking objects:

Object # added Retained size increase
Detached HTMLUListElement 1 +2.19 kB
Detached V8EventHandlerNonNull 1 +40 B
VirtualElementPass 1 +55 B
Detached HTMLButtonElement 2 +23.4 kB
Detached SVGCircleElement 2 +1.1 kB
HTMLDivElement 2 +363 B
LabIcon 2 +104 B
Detached CSSStyleDeclaration 3 +244 B
Detached HTMLLIElement 3 +5.8 kB
Detached NodeList 3 +204 B
NavigationHistoryEntry 3 +720 B
VirtualText 3 +108 B
VirtualElement 4 +1.17 kB
Detached SVGAnimatedPreserveAspectRatio 5 +320 B
Detached SVGAnimatedRect 5 +320 B
Detached SVGSVGElement 5 +9.25 kB
Detached HTMLSpanElement 6 +3 kB
Detached SVGGElement 6 +4.9 kB
Detached SVGPathElement 7 +2.47 kB
StyleModule 8 +789 B
Detached SVGAnimatedNumber 9 +576 B
Detached Attr 10 +720 B
Detached Text 10 +680 B
Detached HTMLCollection 13 +1.33 kB
Detached DOMTokenList 15 +988 B
Detached HTMLDivElement 15 +33.2 kB
Detached SVGAnimatedString 20 +1.12 kB
Detached SVGAnimatedTransformList 20 +1.28 kB
Detached SVGAnimatedLength 26 +1.66 kB
Detached V8EventListener 130 +10.9 kB
Detached EventListener 131 +20.4 kB
(closure) 138 +31.1 kB

Leaking collections:

Type Change Preview Size increased at
Array +8 [StyleModule, ...]
  webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:115:0     
webpack://jupyterlab/node_modules/style-mod/src/style-mod.js:79:0
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6649:8
webpack://jupyterlab/node_modules/@codemirror/view/dist/index.js:6300:0
webpack://jupyterlab/packages/codemirror/src/editor.ts:954:17
webpack://jupyterlab/packages/codemirror/src/editor.ts:163:27
webpack://jupyterlab/packages/codemirror/src/factory.ts:61:11
webpack://jupyterlab/packages/codeeditor/src/jsoneditor.ts:83:26
webpack://jupyterlab/packages/notebook/src/notebooktools.ts:676:21
✔ Opening a notebook (73947ms)

3 passing (6m)
1 pending

@github-actions
Copy link
Contributor

Galata snapshots updated.

@jtpio jtpio closed this Feb 24, 2023
@jtpio jtpio reopened this Feb 24, 2023
@jtpio
Copy link
Member

jtpio commented Feb 24, 2023

Kicking CI

Copy link
Member

@jtpio jtpio left a comment

Choose a reason for hiding this comment

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

Just checked on Binder and it looks good, thanks!

Copy link
Member

@jtpio jtpio left a comment

Choose a reason for hiding this comment

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

Thanks!

@jtpio jtpio merged commit 772684e into jupyterlab:master Feb 24, 2023
@JasonWeill JasonWeill mentioned this pull request Apr 27, 2023
4 tasks
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Collapsing Output cells - Downgrade from Notebook

2 participants