Skip to content

perf(marketplace): stream SHA256 + file-stream zip decode (#418) - #433

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/418-stream-zip-hash
Jul 27, 2026
Merged

perf(marketplace): stream SHA256 + file-stream zip decode (#418)#433
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/418-stream-zip-hash

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

  • SHA256 via sha256HexOfFile / openRead (same as updater) — no sha256.convert(fullBytes)
  • SafeZipExtractor.readAndDecodeFile uses InputFileStream + ZipDecoder.decodeStream
  • Marketplace + sideload extract paths clear ArchiveFile content after each write
  • Docs note in docs/security.md

Closes #418
Parent: #414

Test plan

  • flutter test test/core/security/safe_zip_extractor_test.dart test/core/extensions/local_extension_installer_test.dart test/core/market/marketplace_repository_test.dart
  • Manual: sideload .zip with optional checksum; marketplace install mock path

Hash archives with sha256HexOfFile (openRead stream) and decode via
InputFileStream so marketplace/sideload no longer keep a full byte
buffer plus ZipDecoder output. Clear entry content after write.

Closes #418
@github-actions github-actions Bot added performance Theme parser epic label: performance marketplace Extensions marketplace, ExtensionManifest core Core library logic and services labels Jul 27, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit ce4af04 into dev Jul 27, 2026
4 checks passed
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/418-stream-zip-hash 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 marketplace Extensions marketplace, ExtensionManifest performance Theme parser epic label: performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant