sankofa_flutter 0.2.0 copy "sankofa_flutter: ^0.2.0" to clipboard
sankofa_flutter: ^0.2.0 copied to clipboard

Sankofa Flutter SDK — Deploy (OTA patches via KBC interpreter), Analytics, Replay, Catch, Switch, Config, and Pulse, with offline queueing and Ed25519-signed envelopes.

Changelog #

0.2.0 — Sankofa Deploy: Flutter Code (OTA patches via KBC interpreter) #

  • Sankofa Deploy module — Path C iOS OTA via the Sankofa-fork Flutter engine's dart::Interpreter::Run. No App Store resubmission, no JIT entitlement. Patches ship as SANKOFA_KBC_ENVELOPE v1 files signed with project-bound Ed25519 keypairs.
  • Sankofa.deploy.fetchAndApplyKbcPatch — single-call fetch + verify + apply path for Tier-A and Tier-B patches.
  • Sankofa.deploy.tryApplyStagedKbcPatch — boot-time re-apply for OTA persistence across cold restart.
  • Rollback safety — boot-counter auto-disables a patch after kbcRollbackThreshold (default 3) consecutive crashes; host calls notifyKbcPatchReady after first frame to reset.
  • Ed25519 envelope verificationSankofaDeployOptions. signingPubkeyB64 opt-in; SDK refuses unsigned or non-verifying envelopes when set. Handshake-distributed pubkeys merge with the host-embedded key for graceful rotation.
  • Telemetrykbc_apply_success / _failed, kbc_boot_apply_success / _failed / _skipped_rollback fire on every apply path with error-message + cause-class context for dashboard rollups.
  • Sankofa.deploy.getStagedKbcPatchInfo — read-only view of the active patch (label, dartVersion, engineCommit, signed flag, size, modifiedAt) for debug screens.

Hardening (data integrity, privacy, crash durability, robustness) #

  • Pulse auto-show — surveys flagged auto_show in the dashboard now present automatically (parity with iOS/Android). New SankofaPulse.setNavigatorKey(GlobalKey<NavigatorState>) gives the pump a presentation anchor; honours per-survey cooldown + delay and re-evaluates on app foreground / after each fetch. Screen/URL targeting now works (the eligibility context populates the current screen). refreshSurveys() forces a fresh fetch after identify().
  • Analytics queue — per-status delivery disposition (transient failures retry, client errors drop) instead of all-or-nothing, plus a hard size cap + 48h TTL and single-flight flush. Custom property numbers/booleans keep their native JSON type.
  • Session replay privacy — automatic masking of text inputs (always for obscured fields), SankofaMask regions, and optional text/images; the server mask_all_inputs flag is now enforced. Bounded frame/event buffers, no data loss on failed uploads, serialized uploads.
  • Crash durability — fatal crashes are spooled synchronously and recovered (with full payload) + flushed on the next launch; fatals are never sampled out; PlatformDispatcher.onError preserves the host's default error propagation.
  • Lifecycle — correct cold-start session rotation, paused/ hidden-only backgrounding, race-free init, and reset() re-points replay to the new anonymous id.
  • Config/Switchconfig.get<bool> coerces 1/0 and "true"/"false"; change listeners deliver a consistent snapshot.

0.1.0 #

  • Added high-fidelity session replay mode.
  • Implemented remote configuration fetching for dynamic sampling.
  • Added event-based high-fidelity recording triggers.
  • Updated dependency management for cleaner integration.

0.0.1 #

  • Initial release of Sankofa Flutter SDK.
  • Modular architecture for easier maintenance.
  • Support for event tracking, identity management, and session replay (wireframe & screenshot modes).
  • Automatic UTM parameter capturing from deep links.
  • App lifecycle observation for automatic event tracking and queue flushing.
1
likes
0
points
294
downloads

Publisher

unverified uploader

Weekly Downloads

Sankofa Flutter SDK — Deploy (OTA patches via KBC interpreter), Analytics, Replay, Catch, Switch, Config, and Pulse, with offline queueing and Ed25519-signed envelopes.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

app_links, carrier_info, connectivity_plus, crypto, cryptography, device_info_plus, flutter, http, package_info_plus, path_provider, shared_preferences, uuid

More

Packages that depend on sankofa_flutter

Packages that implement sankofa_flutter