dartway_offline_flutter 0.1.0 copy "dartway_offline_flutter: ^0.1.0" to clipboard
dartway_offline_flutter: ^0.1.0 copied to clipboard

Optional user-scoped offline lifecycle support for DartWay Flutter apps.

Changelog #

0.1.0 #

  • Adds the generic mobile offline runtime: verified package manifests, durable downloads, local assets and repository snapshots, trusted time, scoped access, and an outbox.
  • DwOfflinePlugin is the local store dw.repo reads and writes through. It is declared with the core (DwCore(plugins: [DwOfflinePlugin(...)])) and reached as dw.plugins.offline; nothing is registered, so nothing can stay registered after the core it belongs to is gone. Both halves report null until the runtime is initialized and again once it is disposed, leaving dw.repo network-only on the way in and on the way out.
  • Both commits — the outbox enqueue and the snapshot keep — run inside a real drift transaction, serialized against scope activation, and the package runs the core's DwRepoLocalWrites and DwRepoLocalReads conformance suites.
  • Manifest v2 accepts an application-calculated leaseValidUntilUtc. The framework verifies the signed boundary but carries no application-specific access categories or duration rules.
  • Web compilation no longer encounters JavaScript-inexact 64-bit integer literals: unbounded leases use a far-future web-safe timestamp, while download size validation keeps the exact SQLite integer boundary through BigInt.
  • Ships a web-compilation harness under example/. The package is depended on by no example and no template, so nothing used to compile it for the web; flutter build web on that app runs in CI and fails on a dart2js-only error before a consumer's release build does.
  • Downloaded media can be opened by an application-defined asset identifier when its signed download URL differs from the resource URL stored in an application model.