Skip to content

perf(export): stream DataExportService file saves (#417) - #431

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/417-export-stream
Jul 27, 2026
Merged

perf(export): stream DataExportService file saves (#417)#431
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/417-export-stream

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

  • DataExportService.saveToFile streams via writeToSink / IOSink (no giant String)
  • CSV uses existing writeResultGridCsv; JSON / Markdown / SQL write incrementally with yields every 500 rows
  • Clipboard path unchanged (formatAsync) — noted in docs comments

Closes #417
Parent: #414

Test plan

  • flutter test test/shared/data_export_service_test.dart
  • Manual: export large grid to CSV/JSON/SQL file from ResultsTab
  • Manual: clipboard export still works

saveToFile no longer builds a full-document String; CSV reuses
writeResultGridCsv and JSON/Markdown/SQL write row-by-row with yields.
Clipboard keeps isolate formatAsync (OS clipboard API).

Closes #417
@github-actions github-actions Bot added performance Theme parser epic label: performance core Core library logic and services ui User interface components and widgets labels Jul 27, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit 847ce6c into dev Jul 27, 2026
4 checks passed
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/417-export-stream branch July 27, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core library logic and services performance Theme parser epic label: performance ui User interface components and widgets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant