Skip to content

v1.2.1

Latest

Choose a tag to compare

@emreozdil emreozdil released this 08 Jun 13:11

Fixed

  • Recover missed consumables. The startup recovery scan now uses Transaction.all instead of Transaction.currentEntitlements, so consumable purchases that the live listeners missed (app killed mid-flow, a failed send) are recovered on the next launch for already-attributed users — bringing consumables to the same reliability as non-consumables and subscriptions.
  • Durable purchase dedup. Transactions are marked as sent only after a confirmed network send, and the in-memory pending set is seeded from the persisted queue at launch. An event dropped from the bounded retry queue before sending is now recovered on a later launch instead of being lost, and is never enqueued as a duplicate.

Revenue totals are unaffected; this improves the paid/organic attribution split for consumables going forward. No public API changes.