Skip to main content

work_vault 0.2.1 copy "work_vault: ^0.2.1" to clipboard
work_vault: ^0.2.1 copied to clipboard

Resumable HTTPS GET downloads for Flutter across Android, iOS, Windows, Linux, and Web.

0.2.1 #

  • Add screenshots to the pub.dev listing: how it works, the task lifecycle, and a quickstart.

0.2.0 #

  • Add official support for Windows, Linux, and Web.
  • Add DesktopWorkVaultEngine (dartPluginClass) for Windows and Linux with resumable HTTP GET streaming via Range: bytes=X- headers, SHA-256 integrity verification, and SQLite database persistence.
  • Add WebWorkVaultEngine (flutter_web_plugins) for Web with Fetch/Streams API chunk streaming, progress observation, web database persistence, SHA-256 checks, and automatic browser file download triggers.
  • Implement web-safe abstractions and conditional imports across storage and file hashing layers to prevent dart:io compilation errors on Web.
  • Scaffold native runners for Windows, Linux, and Web in the example/ application with dynamic cross-platform destination paths.
  • Fix every Flutter app build failing in the generated plugin registrant: WorkVaultLinux and WorkVaultWindows are now exported from package:work_vault/work_vault.dart, which is where the registrant imports them from. The export is skipped on web.
  • Carry the schema version and close-on-error handling into the IO database implementation introduced for desktop support.
  • Add iOS tests for retry exhaustion, cancel cleanup, battery gating, and the network-constraint mapping. The cellular and expensive-path settings now come from one function that the background session configuration uses.
  • Fix the iOS plugin not compiling: WorkVaultSessionManager.read now rethrows, so a lookup of an unknown task reports task_not_found instead of failing the build.
  • Document how to run the Dart, Android, and iOS test suites.
  • Add Android tests that pin entity-tag restart, redirect limits, cleartext refusal, timeouts, and retryable HTTP statuses.
  • Record a schema version in the shared SQLite file. A file written by 0.1.0 keeps its rows, and a file from a newer version is refused with a StateError instead of being misread.
  • Fix the headless background engine reusing the first database it opened. Each dispatched event is now written to the database its payload names.
  • Remove the Android TUS upload handler. Version 1 runs resumable HTTPS GET only, so native routing and validation now reject every other method, with or without upload protocol headers.
  • Fix Android so an expected digest passed in X-Work-Vault-Sha256 or X-Work-Vault-Md5 is no longer replaced by the server's Digest or Content-MD5 response header. A server digest is used only when none was supplied, including when a stored task is resumed.
  • Document expected-digest verification, including that iOS does not read these headers yet.
  • Lower the Dart SDK constraint to ^3.13.0 so it matches the documented minimum of Dart 3.13 and Flutter 3.47. The previous ^3.13.4 required Flutter 3.47.7.

0.1.0 #

  • Support one transfer: a resumable HTTPS GET. Android runs it in WorkManager. iOS runs it in a background URLSession. Any other method is rejected.
  • Keep the download running after the UI isolate is gone. A headless Flutter engine receives progress and completion and writes the SQLite projection.
  • Treat the native store as the authority for status, byte count, entity tag, and resume position. initialize reloads that state.
  • Decide completed or failed in the native checksum verifier. Dart records verified, mismatch, or missing and does not change that status.
  • Deliver Android status and progress on the platform main thread while the UI engine is attached.

0.0.1 #

  • Add the Pigeon host contract and the typed Dart control plane for background downloads.
  • Deliver background events through a headless Flutter engine when the UI engine is gone, and store task rows, resume tokens, and SHA-256 status in SQLite.
4
likes
0
points
119
downloads

Publisher

unverified uploader

Weekly Downloads

Resumable HTTPS GET downloads for Flutter across Android, iOS, Windows, Linux, and Web.

Repository (GitHub)
View/report issues

Topics

#http #network #files

License

unknown (license)

Dependencies

crypto, flutter, flutter_web_plugins, meta, path, sqlite3, web

More

Packages that depend on work_vault

Packages that implement work_vault