You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MDH: drop inaccurate 'significant memory' warning from large download/export modals
The download/export engine streams each batch directly to disk via
showSaveFilePicker, with backpressure capping the in-flight working set
at ~20k docs (MAX_BUFFERED * BATCH_SIZE) regardless of total size. Peak
memory is bounded and independent of collection size on that path, so the
'use significant memory' warning was misleading. Only the rare Blob
fallback (picker unavailable/denied) holds the full output in memory.
Reword all 8 confirm modals (JSON/NDJSON download + CSV/XML export, full
and filtered) to keep the accurate 'may take a while' and drop the memory
claim. No 'streams to disk' assertion added, since the Blob fallback does
not stream.
Copy file name to clipboardExpand all lines: src/mdh/components/DataPanel.jsx
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -432,7 +432,7 @@ export default function DataPanel() {
432
432
if(tc!==null&&tc>10_000){
433
433
constproceed=awaitconfirmModal(
434
434
'Large collection',
435
-
`This collection has ${tc.toLocaleString()} documents. Downloading may take a while and use significant memory. Continue?`,
435
+
`This collection has ${tc.toLocaleString()} documents. Downloading may take a while. Continue?`,
436
436
);
437
437
if(!proceed)return;
438
438
}
@@ -496,7 +496,7 @@ export default function DataPanel() {
496
496
setDownloadState(null);
497
497
constproceed=awaitconfirmModal(
498
498
'Large download',
499
-
`This filter matches ${filteredCount.toLocaleString()} documents. Downloading may take a while and use significant memory. Continue?`,
499
+
`This filter matches ${filteredCount.toLocaleString()} documents. Downloading may take a while. Continue?`,
500
500
);
501
501
if(!proceed)return;
502
502
}
@@ -512,7 +512,7 @@ export default function DataPanel() {
512
512
asyncfunctiondownloadAllJsonl(){
513
513
consttc=pagination.totalCount.value;
514
514
if(tc!==null&&tc>10_000){
515
-
constproceed=awaitconfirmModal('Large collection',`This collection has ${tc.toLocaleString()} documents. Downloading may take a while and use significant memory. Continue?`);
515
+
constproceed=awaitconfirmModal('Large collection',`This collection has ${tc.toLocaleString()} documents. Downloading may take a while. Continue?`);
516
516
if(!proceed)return;
517
517
}
518
518
constcol=collection;
@@ -562,7 +562,7 @@ export default function DataPanel() {
constproceed=awaitconfirmModal('Large download',`This filter matches ${filteredCount.toLocaleString()} documents. Downloading may take a while and use significant memory. Continue?`);
565
+
constproceed=awaitconfirmModal('Large download',`This filter matches ${filteredCount.toLocaleString()} documents. Downloading may take a while. Continue?`);
566
566
if(!proceed)return;
567
567
}
568
568
awaitrunDownloadJob({
@@ -590,7 +590,7 @@ export default function DataPanel() {
590
590
if(tc!==null&&tc>10_000){
591
591
constproceed=awaitconfirmModal(
592
592
'Large collection',
593
-
`This collection has ${tc.toLocaleString()} documents. Exporting may take a while and use significant memory. Continue?`,
593
+
`This collection has ${tc.toLocaleString()} documents. Exporting may take a while. Continue?`,
594
594
);
595
595
if(!proceed)return;
596
596
}
@@ -656,7 +656,7 @@ export default function DataPanel() {
656
656
setDownloadState(null);
657
657
constproceed=awaitconfirmModal(
658
658
'Large export',
659
-
`This filter matches ${filteredCount.toLocaleString()} documents. Exporting may take a while and use significant memory. Continue?`,
659
+
`This filter matches ${filteredCount.toLocaleString()} documents. Exporting may take a while. Continue?`,
660
660
);
661
661
if(!proceed)return;
662
662
}
@@ -683,7 +683,7 @@ export default function DataPanel() {
683
683
onDownload={async({ rootName, recordName })=>{
684
684
consttc=pagination.totalCount.value;
685
685
if(tc!==null&&tc>10_000){
686
-
constproceed=awaitconfirmModal('Large collection',`This collection has ${tc.toLocaleString()} documents. Exporting may take a while and use significant memory. Continue?`);
686
+
constproceed=awaitconfirmModal('Large collection',`This collection has ${tc.toLocaleString()} documents. Exporting may take a while. Continue?`);
687
687
if(!proceed)return;
688
688
}
689
689
awaitrunDownloadJob({
@@ -742,7 +742,7 @@ export default function DataPanel() {
742
742
setDownloadState(null);
743
743
constproceed=awaitconfirmModal(
744
744
'Large export',
745
-
`This filter matches ${filteredCount.toLocaleString()} documents. Exporting may take a while and use significant memory. Continue?`,
745
+
`This filter matches ${filteredCount.toLocaleString()} documents. Exporting may take a while. Continue?`,
0 commit comments